String splitten und zweiten Teil konvertieren
-
früher oder später kommst du auch an strukturen nicht vorbei.
#define NAMELEN_MAX 63 struct scorelist_dataset { char name[NAMELEN_MAX+1]; unsigned score; }; struct scorelist_dataset dataset[3] = {0}; int i = 0; fscanf ( fp, "%s %u", dataset[i].name, &dataset[i].score ) printf( "%s %u\n", dataset[i].name, dataset[i].score );
-
Habe es jetzt so gelöst und es funktioniert.
Filehighscore = fopen("highscore.txt","r+"); zaelen = 0; platz = 0; while(2 == fscanf(Filehighscore, "%s %d", user, &score)) { if(zaelen == 0) { strcpy(uZeile1, user); hZeile1 = score; if(hZeile1 <= highscore && platz == 0) { printf("Du hast den ersten Platz gemacht. Gebe bitte deinen Namen ein: "); scanf("%s", name); printf("Du kannst die Highscore Liste im Menue unter dem dritten Punkt aufrufen\n"); strcpy(uZeile1, name); hZeile1 = highscore; platz = 1; } } if(zaelen == 1) { strcpy(uZeile2, user); hZeile2 = score; if(hZeile2 <= highscore && platz == 0) { printf("Du hast den zweiten Platz gemacht. Gebe bitte deinen Namen ein: "); scanf("%s", name); printf("Du kannst die Highscore Liste im Menue unter dem dritten Punkt aufrufen\n"); strcpy(uZeile2, name); hZeile2 = highscore; platz = 1; } } if(zaelen == 2) { strcpy(uZeile3, user); hZeile3 = score; if(hZeile3 <= highscore && platz == 0) { printf("Du hast den dritten Platz gemacht. Gebe bitte deinen Namen ein: "); scanf("%s", name); printf("Du kannst die Highscore Liste im Menue unter dem dritten Punkt aufrufen\n"); strcpy(uZeile3, name); hZeile3 = highscore; platz = 1; } if(platz = 0) { printf("Du hast gar keinen Platz gemacht\n"); } } zaelen++; } fclose(Filehighscore); neuFilehighscore = fopen("highscore.txt", "w+"); if(neuFilehighscore == NULL) { printf("Fehler beim anlegen der highscore.txt.\n"); } fprintf(neuFilehighscore, "%s %d\n", uZeile1, hZeile1); fprintf(neuFilehighscore, "%s %d\n", uZeile2, hZeile2); fprintf(neuFilehighscore, "%s %d\n", uZeile3, hZeile3); fclose(neuFilehighscore); }
-
Ganz schlechte Praxis, kopierten Code zu verwenden.
Aber du willst es trotz hier vielfach gegebener Hinweise nicht anders.if(platz = 0)
ist auch noch ein Fehler und wahrscheinlich nicht der letzte in deinem Programm.
-
Ja ich habe die Dritte Seite nicht gesehen Habe es jetzt mit deiner Lösung versucht und es funktioniert.
Vielen Dank für den netten Support.