Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
20_04_13_FAJLY_20-04.doc
Скачиваний:
2
Добавлен:
01.05.2025
Размер:
145 Кб
Скачать
☆

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

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

FILE *fp;

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

Прототип

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

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

Таблица: Допустимые значения режимов

Режим

Значение

"r"

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

"w"

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

"а"

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

"rb"

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

"wb"

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

"ab"

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

"r+"

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

"w+"

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

"a+"

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

"r+b"

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

"w+b"

Создает двоичный файл для чтения/записи.

"a+b"

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

"rt"

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

"wt"

Создает текстовый файл для записи.

"at"

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

"r+t"

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

"w+t"

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

"a+t"

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

Пример

fp = fopen ("test", "w"); где fp - это переменная типа FILE *. Тем не менее обычно можно увидеть следующее: if((fp = fopen("test", "w"))==NULL) { puts ("Cannot open file."); exit (1); }

#include <stdio.h>

int main()

{

FILE *fp;

fp = fopen("logfile", "w");

if (fp == NULL)

printf("Open failed\n");

do { ch = getchar(); putc(ch, fp) ; } while (ch!='.'); fclose(fp); return 0; }

}