Fseek против перемотки?
Я заметил два метода для возврата к началу файла
FILE *fp = fopen("test.bin", "r")
fseek(fp, 0, SEEK_END);
rewind(fp);
и
FILE *fp = fopen("test.bin", "r")
fseek(fp, 0, SEEK_END);
fseek(fp, 0, SEEK_SET);
Какая разница между этими методами?
Ответы
Ответ 1
В основном это два разных способа выполнить одно и то же: установить указатель на начало файла. Единственное отличие состоит в том, что rewind
также очищает индикатор ошибки.
Если вам нужен выбор, вы должны использовать fseek
. Это связано с тем, что rewind
не возвращает целое число, указывающее, удалось ли выполнить операцию.
Ответ 2
Если fseek()
возвращает успех, он также очистит индикатор конца файла, тогда как rewind()
не делает этого