Функция ferror() используется для определения, привела ли выполненная операция к ошибке. Функция ferror() имеет следующий прототип:
int ferror(FILE *fp)
где fp - это допустимый указатель на файл. Она возвращает истину, если в результате выполнения последней операции произошла ошибка. В противном случае она возвращает ложь. Поскольку каждая файловая операция изменяет состояние ошибки, ferror() должна вызываться после каждой файловой операции, иначе ошибка может потеряться.
Функция rewind() сбрасывает маркер файла на начало для файла, указанного в аргументе. Она имеет прототип:
void rewind(FILE *fp)
где fp - это допустимый файловый указатель.