Mr Apfelkuchen
Erfahrenes Mitglied
Guten Abend,
Also ich hab versucht mit dieser Funktion die Namen aus einer Datei auszulesen die so aufgebaut ist:
Es sollen nacheinander die Buchstaben des Namens ausgelesen werden, da ich mit dem schreiben einer Funktion die gleich einen ganzen string zurückgibt irgendwie überfordert war. Das komische is nur das wenn rang = 1 ist alles wie gewollt Funktioniert. Mit dem darauffolgenden Aufrufen mit rang = 2,3... ergibeben sich endlos Schleifen. Warum? Ich mein es gibt doch immer die Aufforderung (durch Quit = TRUE) die Schleife zu verlassen oder? Würde mich über jedliche Art von Hilfe freuen.
mfg Apfelkuchen
Code:
char ReadHighscoreName(int rang,int number){
BOOL Quit,Read;
char space,recive,bloob[10];
HWND hwnd;
FILE *file;
int a,b,f,j;
if((file = fopen("data\\score\\highscore.bms","r")) == NULL){
return -1;
}
f=1;
j=1;
Quit=FALSE;
Read=FALSE;
space = 'X';
while(Quit==FALSE){
space = fgetc(file);
recive='\0';
if(Read==TRUE){
for(a=0;a<25;a++){
if(j==number){
Quit=TRUE;
recive = space;
}
j++;
space = fgetc(file);
}
f++;
Read=FALSE;
}
else{
space = fgetc(file);
if(space=='!'){
if(f==rang*2){
j=1;
Read=TRUE;
}
f++;
}
}
}
fclose(file);
return recive;
}
Code:
Punkte!Name!
Punkte!Name!
...
mfg Apfelkuchen