Если вызов функции fread () возвращает 0, а ferror () указывает на ошибку (по сравнению с EOF), можно ли повторить попытку чтения или лучше закрыть и снова открыть файл?
Я не могу начать полностью заново - входной файл был частично обработан способом, который невозможно отменить (скажем, я записываю порцию за раз в сокет и, из-за существующего протокола, У меня нет возможности сказать удаленному концу: «Не бери в голову, мне нужно начать все сначала»).
Я мог бы fclose () и fopen () файл, fseek () после уже обработанных данных и продолжить оттуда fread (), но все ли это необходимо?