Я читаю строки из текстового файла, используя fgets();
У меня есть цикл с: while(!feof(fp))
Дело в том, что программа продолжает вводить цикл даже после того, как яВы достигли и прочитали последнюю строку, и при отладке в файле ptr отображаются только точки, а не строка данных.
Как узнать, что я достиг конца, и больше не входить в цикл?
while (!feof(fp)) {
if (strcmp(data2->ID ,data1->ID)<0) {
fseek(fp, backTo, SEEK_SET);
fprintf( fp, "%s",lin2);
fprintf( fp, "%s",lin1);
flag = 1;
}
else
{
strcpy(data1->ID,data2->ID);
strcpy(data1->name,data2->name);
data1->price=data2->price;
}
if(fgets(line2, sizeof(line2),fp)!=NULL)
{
itemSize2=strlen(line2)+1;
strcpy(data2->ID,strtok (line2,","));
}
}
В текстовом файле всего 2 строки, я использую fseek и перехожу к началу файла, затем дважды использую fprintf и пишу по этим строкам, после чего я должен добраться доEOF