Основываясь на ваших последних комментариях, я думаю, что у вас есть пустой файл test.rtf
в каталоге, в котором запущена ваша программа, а ваш настоящий test.rtf
файл находится в каком-то другом каталоге. Возможно, ваш fopen()
звонок в какой-то момент был fopen("test.rtf", "w");
вместо fopen("test.rtf", "r");
, и вы позже изменили его.
Чтобы увидеть каталог, в котором работает ваша программа, добавьте в вашу программу следующее после строки FILE *filePtr;
:
char pwd[512];
if (getcwd(pwd, sizeof pwd) != -1)
printf("In directory %s\n", pwd);
else
fprintf(stderr, "Need bigger buffer, change '512' above\n");
Затем вы можете открыть терминал, выполнить cd <directory>
и проверить для себя, является ли файл, который вы хотите, файлом, который открывает ваша программа.