Все файлы имеют позицию , где данные считываются или записываются. После записи в файл позиция находится в конце. Попытка чтения попытается прочитать с этой позиции. Вы должны изменить позицию в начале файла с помощью функции, подобной lseek
.
Кроме того, вы открыли файл в режиме чтения и записи?
Редактировать
После прочтения ваших комментариев я вижу, что вы на самом деле не читаете файл из вашей программы, а из внешней программы. Тогда это может быть так просто, как если бы вы не сбрасывали файл на диск, что происходит автоматически при закрытии файла. Для этого вы можете проверить функцию fsync
или, возможно, функцию sync
.