Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Labor7.doc
Скачиваний:
17
Добавлен:
05.06.2015
Размер:
70 Кб
Скачать

Файловая система ansi c

Файловая система ANSI C является частью системы ввода-вывода, позволяющей читать или записывать файлы. Она содержит несколько взаимосвязанных функций. Наиболее типичные показаны в таблице 3

Таблица 3

Имя

fopen()

fclose()

putc()

fputc()

getc()

fgetc()

fseek()

fprintf()

fscanf()

feof()

ferror()

rewind()

remove()

fflush()

Функция

Открывает файл

Закрывает файл

Записывает символ в файл

Аналогично putc()

Читает символ из файла

Аналогично getc()

Переходит к указанному байту в файле

Делает то же в файл, что и printf() на консоль

Делает то же с файлом, что и scanf() c консолью

Возвращает истину при достижении конца файла

Возвращает истину при обнаружении ошибки

Сбрасывает индикатор позиции файла на начало файла

Стирает файл

Очищает буфер файла

Заголовочный файл stdio.h должен включаться в любую программу, использующую данные функции.

Заголовочный файл stdio.h предоставляет прототипы для функций ввода-вывода и определяет три типа: size_t, fops_t и FILE. Тип size_t – это беззнаковое целое, как и fops_t. Тип FILE обсуждается в следующем разделе.

Указатель на файл

Указатель на файл – это указатель на информацию, определяющую различные параметры файла, включая его имя, состояние и текущую позицию. В принципе, указатель на файл идентифицирует конкретный дисковый файл и используется потоком для выполнения операций ввода-вывода. Указатель на файл – это переменная-указатель типа FILE. Для создания файловой переменной-указателя используется оператор типа:

FILE *fp;

Открытие файла

Функция fopen() открывает для использования поток, связывает файл с данным потоком и затем возвращает указатель FILE на данный поток. Чаще всего файл рассматривается как дисковый файл. Функция fopen() имеет следующий прототип:

FILE *fopen(const char *имя_файла, const char *режим);

где режим указывает на строку, содержащую желаемый режим открытия файла. Некоторые значения режима показаны в таблице 4.

Таблица 4

Режим

Значение

“r”

Открывает файл для чтения. (По умолчанию как текстовый файл.)

“w”

Создаёт файл для записи. (По умолчанию как текстовый файл.)

“a”

Присоединяет к файлу. (По умолчанию как текстовый файл.)

“rb”

Открывает двоичный файл для чтения.

“wb”

Открывает двоичный файл для записи.

“ab”

Присоединяет к двоичному файлу.

“r+”

Открывает файл для чтения и записи. (По умолчанию как текстовый файл.)

“w+”

Создаёт файл для чтения и записи. (По умолчанию как текстовый файл.)

“a+”

Присоединяет или создаёт файл для чтения и записи. (По умолчанию как текстовый файл.)

Имя_файла должно быть строкой символов, представляющей корректное имя файла операционной системе, и может содержать указание пути.

Функция fopen() возвращает указатель базового типа FILE. Данный указатель идентифицирует файл и используется большинством функций файловой системы. Его никогда не следует изменять самостоятельно. Функция возвращает нулевой указатель, если файл не может быть открыт.

Если необходимо открыть файл с именем test на запись, то следует написать:

fp = fopen(“test”, “w”);

где fp – это переменная типа FILE *. Тем не менее обычно можно увидеть следующее:

if((fp = fopen(“test”, “w”))==NULL) {

puts(“Cannot open file.”);

exit(1);

}

Данный метод позволяет обнаружить ошибки при открытии файла, например, наличие защиты от записи или отсутствие свободного места на диске.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]