В настоящее время я программирую собственную реализацию функции fseek, и я хочу спросить, что происходит по нескольким причинам. Вот они:Что происходит с указателем поиска?
- Если искать происхождения устанавливается в
SEEK_SET
илиSEEK_CUR
и результат следующей позиции превышает размер файла? - Если искать происхождение устанавливается в
SEEK_END
и результате следующей позиции меньше, чем 0
ли файл изменен для позиции, чтобы поместиться в нем, или есть какой-то код ошибки возвращается (что происходит потом с указателем положения)?
Пожалуйста, помогите.
Вы можете получить хороший и подробный ответ на свой вопрос, изучив версии программного обеспечения C stdio (например, [MUSL libc] (http://musl-libc.org/), исходный код которого вполне читабельен). И [fseek (3) man page] (http://linux.about.com/library/cmd/blcmdl3_fseek.htm) также должна сообщить вам, что должно произойти. Кроме того, основная операционная система имеет значение (это какой-то Posix или Unix или Linux, или что-то еще?) –