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

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

Файловая система ANSICявляется частью системы ввода-вывода, позволяющей читать или записывать файлы. Она содержит несколько взаимосвязанных функций. Наиболее типичные показаны в таблице 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);

}

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

Соседние файлы в папке programming