Avatar billede sizanx Nybegynder
19. juli 2012 - 22:12 Der er 1 kommentar og
1 løsning

Problem med arrays?

Hej,
Jeg er i gang med at redigere et programs menu, så hvis man går ud af et undermenu, og ind igen så skulle vi gerne være i den samme mappe.

Programmet har et enum som den sætter current_menu lig med når man er inde i den undermenu:
enum { MENU_BACK = -1, .., BROWSE = 0x10, BROWSE_VIDEO,    .., OSD = 0x20, };

Det jeg prøver er at gemme mappens sti i en 2D char array, samt current_menu i en alm integer array, når man går ud af undermenuen:
if (ExitKnap == true) {
sti[current_menu][2048] = hent_sti(mappe);
undermenu[current_menu] = current_menu;
current_menu = MENU_BACK;
}


Så næste gang man går ind i den undermenu så er vi tilbage i samme mappe:
if (undermenu([current_menu]) == current_menu) {
start_mappe(sti[current_menu][2048], root);
} else [
start_mappe("/", root);
}


Også til problemet, hvis jeg går ind i undermenu "A" og mappe "1", går ud af undermenu "A", ind i udermenu "B", så er man i mappe "1". Hvis man derefter fra "B" går ind i mappe "2" og ud, og ind i "A", så er vi i "2" osv. Mine arrays ser sådan ud:

static char sti[64][2048];
static int undermappe[64];

Jeg har prøvet at lave en funktion der caster: if {(var = (int)0x10) { return 1 } osv., men intet hjælper. Hvis der er mere der skal oplyses så sig til :D Håber i kan hjælpe.
Avatar billede erikjacobsen Ekspert
29. juli 2012 - 14:25 #1
Hvis du erklærer et (del)array med [2048] så har du indexerne 0 til 2047. Du bruger indexet 2048, der så rammer ved siden af.... eller er det et lille hack du laver med vilje?
Avatar billede sizanx Nybegynder
02. oktober 2012 - 00:21 #2
jeg fik det løst selv, undskyld jeg har ikke har lukket tråden noget før, havde helt glemt at jeg havde et spørgsmål åbnet :/
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester