У меня проблема в моей программе на C, где после того, как я использую fread()
, указатель файла иногда переходит в конец файла.
Я попытаюсь объяснить лучше - код выглядит примерно так:
dummy = ftell(fp);
fread(&buf, sizeof(unsigned char), 8, fp);
dummy = ftell(fp);
где fp
- указатель файла на открытый файл (открыл его с помощью "w +", я использую его как двоичный файл, и я знаю, что там тоже должен быть "b", но Я слышал, это не очень важно добавить это ..),
dummy
это просто unsigned long
переменная,
и buf
равно unsigned char[8]
сейчас, при отладке, на ftell
до fread
, dummy
равно 262062
на ftell
после fread
, dummy
составляет 262640
хотя я только «сдвинул» 8 байтов ..
Кто-нибудь знает, что может быть причиной этого ..?
спасибо за вашу помощь:)