Каким образом можно прочитать уже открытый файл или записать в него информацию? Для этого в языке C существуют специальные функции:
Чтение (ввод) | Запись (вывод) |
fgetc() | fputc() |
fscanf() | fprintf() |
fgets() | fputs() |
fread() | fwrite() |
При каждой операции ввода/вывода указатель текущей позиции файла смещается на одну позицию в сторону конца файла.
Проверка признака конца файла
Так как при каждой операции ввода/вывода происходит перемещение указателя текущей позиции в файле, в какой-то момент указатель достигает конца файла. Структура типа FILE имеет поле – индикатор конца файла. Функция feof() проверяет состояние индикатора конца файла и возвращает значение 0, если конец файла не был достигнут, или значение, отличное от нуля, если был достигнут конец файла. Функция имеет единственный аргумент – указатель на FILE. Вызов функции в команде if:
if (! feof(fin))…
проверяет, что конец файла еще не достигнут.
Закрытие файла
После завершения обработки файла его следует закрыть с помощью функции fclose(). При этом разрывается связь указателя на файл c внешним набором данных. Освободившийся указатель можно использовать для другого файла. Формат вызова функции:
fclose(fin);
При нормальном завершении программы в большинстве операционных систем все открытые файлы закрываются автоматически, но рекомендуется закрывать все файлы, дальнейшая обработка которых в программе не предполагается, при помощи функции fclose().