Ich versuche, einige Daten aus einer Datei zu lesen, dann drucken Sie es aber Mein Code liest nur den ersten Inhalt und bleibt dann in einer Endlosschleife (in der Weile Schleife). Was mache ich falsch? Meine Ausgabe ist nur Student: Abby GPA: 3 Ich benutze Visual Studio 2012. Ich bin nur ein Beispiel aus meinem Buch folgen.Lesen und Drucken von einer Datei, aber stecken in Schleife C
//My data is Abbie 3.4 Oakley 3.5 Sylvia 3.6 Uwe 3.7 Ken 3.8 Aaron 3.9 Fabien 4
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
void main()
{
unsigned int GPA;//GPA
char student[10];//Student
FILE * cfPter;
//Check if file opened
if((cfPter = fopen("data.txt", "r")) ==NULL)
{
puts("File could not be opened");
}
//Read Contents
else
{
puts("Contents of file:\n");
fscanf(cfPter,"%s %f ", student, &GPA);
}
//While not at end Print the contents read
while(!feof(cfPter))
{
printf("Student: %s GPA: %f",student,GPA);
fscanf(cfPter, "%s %f", student, GPA);
//system("pause");
}
fclose(cfPter);
system("pause");
} //end main
'system (" pause ") kommt' vielleicht? –
Sie wollen auch sehen, [** Warum ist "während (! Feof (Datei))" immer falsch? **] (http://StackOverflow.com/Questions/5431941/Why-is-Whow-feof-file (immer falsch? s = 1 | 2.6948) –
Ihre while-Schleife sollte innerhalb Ihrer else-Klausel sein ... aber das ist es nicht. –