Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

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

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


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

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

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

Как показывает таблица, файл может быть открыт или в текстовом, или в двоичном режи­ме. В текстовом режиме при вводе последовательность возврат каретки и перевод строки трансли­руется в символ новой строки. При выводе справедливо обратное: символ новой строки трансли­руется в возврат каретки и перевод строки. В двоичных файлах такого перевода не происходит.

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

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

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

if((fp = fopen("test", "w"))==NULL) {
puts ("Cannot open file.");
exit (1);
}

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

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

Если необходимо дописать информацию в конец файла, следует использовать режим “а” (добавления). Если файл не существует, то он будет создан.

Открытие файла на чтение требует наличия файла. Если файл не существует, то будет возвращена ошибка. Если файл открыт для операции чтения/записи, то он не удаляется при наличии, а если файл не существует, то он создается.

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

Режим Значение
"r" Открывает файл для чтения. (Открывает по умолчанию как текстовый файл.)
"w" Создает файл для записи. (Открывает по умолчанию как текстовый файл.)
"а" Присоединяет к файлу. (Открывает по умолчанию как текстовый файл.)
"rb" Открывает двоичный файл для чтения.
"wb" Открывает двоичный файл для записи.
"ab" Присоединяет к двоичному файлу.
"r+" Открывает файл для чтения/записи. (Открывает по умолчанию как текстовый файл.)
"w+" Создает файл для чтения/записи. (Открывает по умолчанию как текстовый файл.)
"a+" Присоединяет или создает файл для чтения/записи. (Открывает по умолчанию как текстовый файл.)
"r+b" Открывает двоичный файл для чтения/записи.
"w+b" Создает двоичный файл для чтения/записи.
"a+b" Присоединяет или создает двоичный файл для чтения/записи.
"rt" Открывает текстовый файл для чтения.
"wt" Создает текстовый файл для записи.
"at" Присоединяет к текстовому файлу.
"r+t" Открывает текстовый файл для чтения.
"w+t" Создает текстовый файл для чтения/записи.
"a+t" Открывает или создает текстовый файл для чтения/записи.
 
<== предыдущая лекция | следующая лекция ==>
Указатель на файл | Чтение символа
Поделиться с друзьями:


Дата добавления: 2013-12-14; Просмотров: 340; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.007 сек.