Menu fra txt fil..

Tags:    c++

Hej jeg er i sidste fase af min programmering, og er ved at lave det lidt flot at se på ;)

Jeg har lavet en menu.txt hvor jeg har lavet lidt mønstre og nederst står der "Press 1: start game, press 2 blahblah"..

Jeg ville selv mene at en fprintf skulle klare at hente hele dokumentet, men det gør det altså ikke :-S

Jeg vil lave en switch med case1,2,3 osv efter at menuen er blevet displayed, for at starte spil, highscore, quit osv..


Indrømmet, jeg er nybegynder i C :)



7 svar postet i denne tråd vises herunder
0 indlæg har modtaget i alt 0 karma
Sorter efter stemmer Sorter efter dato
Kan vi få noget kode, så vi kan se, hvad der er galt ?



Kan vi få noget kode, så vi kan se, hvad der er galt ?



Her er lidt kode:

char menuview[2048];
FILE *menu;
menu = fopen("menu.txt", "r");
fprintf(menu);
fclose(menu);


Eller:

char menuview[2048];
FILE *menu;
fgets(menuview, sizeof(menuview), menu);
printf("%s", menuview);
fclose(menu);


Men det er vel forholdsvis simplet, jeg vil bare printe en hel .txt fil på skærmen, eller er jeg helt gal på den?

VH KJ



Du skal først indlæse dataerne fra menu filen tror den hedder fscanf()




char menuview[2048];
FILE *menu;
menu = fopen("menu.txt", "r");
fprintf(menu);
fclose(menu);


Eller:

char menuview[2048];
FILE *menu;
fgets(menuview, sizeof(menuview), menu);
printf("%s", menuview);
fclose(menu);


char menuview[2048];
Dette allokerer plads til 2048 bytes, som kan indeholde menuen. Fint nok.

FILE * menu = fopen("menu.txt", "r");
Dette åbner filen (hvis den findes), men INDLÆSER DEN IKKE!!

fprintf(menu);
Dette kan du ikke. 'menu' er en fil pointer som ikke giver meget mening at udskrive. Prøv i stedet følgende:

char menuview[2048];//Alloker plads til menuen
FILE * menu = fopen("menu.txt", "r");//Åben tekst filen
int bytes = fread(menuview, 1, sizeof(menuview) - 1, menu);//Indlæs indholdet
fclose(menu);//Luk filen
menuview[bytes] = 0; //Dette sikrer at bufferen afsluttes med nul
printf("%s\\n",menuview); //Udskriv menuen

[Redigeret d. 17/05-05 14:27:24 af Robert Larsen]



Mange Robert,

Det virkede, du er nu den heldige vinder af hele 10 point med tilhørende røgeffekter og diskolys ;)

VH KJ


Hvordan giver jeg point?? Der står at jeg kan lukke tråden og give point, men kan ikke lige finde ud af det..

[Redigeret d. 17/05-05 14:43:37 af KJ]




Hvordan giver jeg point?? Der står at jeg kan lukke tråden og give point, men kan ikke lige finde ud af det..

Det er fordi jeg svarede med en kommentar (uden mulighed for points). Bare opret et svar selv og giv dig selv pointsene. Jeg samler ikke points længere.




Hvordan giver jeg point?? Der står at jeg kan lukke tråden og give point, men kan ikke lige finde ud af det..

Det er fordi jeg svarede med en kommentar (uden mulighed for points). Bare opret et svar selv og giv dig selv pointsene. Jeg samler ikke points længere.


Ok, så bliver tråden lukket..

mange tak for hjælpen!



t