Если я прокомментирую fprintf(pf,"1111");
, exe выйдет из строя, и если я сохраню его, я получу 2/3/2011 (только первая запись). Если я попытаюсь закрыть файл, exe также выйдет из строя ,Функция fscanf crash app после первого использования
Действительно ли fscanf обнаруживает конец строки как конец файла и читает нуль?
Я попытался также закрыть (* pf), он все еще падает.
fprintf не следует использовать в окончательном коде, я не хотел, чтобы использовать его, но когда я использовал его, я заметил, что ех читает первую строку успешно
Data* d;
fscanf(pf,"%d",&n);
d=calloc(n,sizeof(Data*));
for(i=0;i<n;i++){
if(fscanf(pf,"%d/%d/%d",&(d[i].zi),&(d[i].luna),&(d[i].an))!=3) break;
printf("%d/%d/%d ",d[i].zi,d[i].luna,d[i].an);
// fprintf(pf,"1111"); with this I observed that first data can be read
}
fclose(pf);
вход
3
2/3/2011
2/2/2012
2/2/2016
звучит как пФ NULL. Вы проверили код возврата с 'fopen'? – bruceg
Каков тип 'd [i]'? Каков тип 'd'? – AlexP
@AlexP - это структура –