Запись символа
Таблица 1
Открытие файла
Указатель на файл
План
Таблица 3
Файловая система ANSI C
Заголовочный файл stdio.h предоставляет прототипы для функций ввода-вывода и определяет три типа: size_t, fpos_t и FILE. Типы size_t и fpos_t – зависят от адресного пространства (обычно unsigned long). stdio.h также определяет несколько макросов. Наиболее значимые NULL, EOF, FOPEN_MAX, SEEK_SET, SEEK_CUR, SEEK_END.
Имя | Функция |
fopen() fclose() putc() fputc() getc() fgetc() fseek() fprintf() fscanf() feof() ferror() rewind() remove() fflush() | Открывает файл Закрывает файл Записывает символ в файл Аналогично putc() Читает символ из файла Аналогично getc() Переходит к указанному байту в файле Делает то же в файл, что и printf() на консоль Делает то же с файлом, что и scanf() c консолью Возвращает истину при достижении конца файла Возвращает истину при обнаружении ошибки Сбрасывает индикатор позиции файла на начало файла Стирает файл Очищает буфер файла |
1.Указатель на файл
2.Открытие файла
3.Запись символа
4.Чтение символа
5.fclose( )
6.Использование feof()
7.Работа со строками: fgets() и fputs()
8.fread( ) и fwrite( )
Указатель на файл – это указатель на информацию, определяющую различные параметры файла, включая его имя, состояние и текущую позицию. Указатель на файл идентифицирует конкретный дисковый файл и используется потоком для выполнения операций ввода-вывода. Указатель на файл – это переменная-указатель типа FILE. Для создания файловой переменной-указателя используется оператор:
FILE *fp;
FILE *fopen(const char *имя_файла, const char *режим);
где режим указывает на строку, содержащую желаемый режим открытия файла.
Режим | Значение |
“r” | Открывает файл для чтения. (По умолчанию как текстовый файл.) |
“w” | Создаёт файл для записи. (По умолчанию как текстовый файл.) |
“a” | Присоединяет к файлу. (По умолчанию как текстовый файл.) |
“rb” | Открывает двоичный файл для чтения. |
“wb” | Открывает двоичный файл для записи. |
“ab” | Присоединяет к двоичному файлу. |
“r+” | Открывает файл для чтения и записи. (По умолчанию как текстовый файл.) |
“w+” | Создаёт файл для чтения и записи. (По умолчанию как текстовый файл.) |
“a+” | Присоединяет или создаёт файл для чтения и записи. (По умолчанию как текстовый файл.) |
Если необходимо открыть файл с именем test для записи, то следует написать:
fp = fopen(“test”, “w”);
где fp – переменная типа FILE *. Тем не менее, обычно можно увидеть следующее:
if( (fp = fopen(“test” , “w”)) == NULL) {
puts(“Cannot open file.”);
exit(1);
}
Если fopen( ) используется для открытия файла на запись, то любой ранее существующий файл с указанным именем будет удалён. Если файла с указанным именем не существует, он будет создан.
Если необходимо дописать информацию в конец файла, следует использовать режим “а”. Если файл не существует, он будет создан.
Система ввода-вывода ANSI С определяет две эквивалентные функции, выводящие символ – putc() и fputc(). Поддержка двух идентичных функций необходима для совместимости со старыми версиями С.
Функция putc() используется для записи символов в поток, ранее открытый функцией fopen(). Прототип для putc() следующий:
int putc(int ch, FILE *fp);
где fp – это указатель на файл, возвращённый fopen( ), а ch – выводимый символ.
Если putc( ) выполнена успешно, она возвращает выведенный символ. В противном случае возвращает EOF.