Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

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



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

FILE *fopen (const char *filename, const char *mode);

где filename указывает на строку, содержащую имя файла, а mode указывает на строку, содержащую желаемый режим открытия файла (таблица 1).

Таблица 1 – Режимы открытия файла

Режим З н а ч е н и е
“r” Открывает файл для чтения (по умолчанию текстовый)
“w” Открывает файл для записи (по умолчанию текстовый)
“a” Присоединяет к файлу (по умолчанию текстовый)
“rb” Открывает двоичный файл для чтения
“wb” Открывает двоичный файл для записи
“ab” Присоединяет (открывает для добавления)
“r+” Открывает файл для чтения/записи (по умолчанию. текстовый)
“w+” Создает файл для чтения/записи (по умолчанию текстовый)
“a+” Присоединяет или создает файл для чтения/записи (по умолчанию текстовый)
“r+b” Открывает двоичный файл для чтения/записи
“w+b” Создает двоичный файл для чтения/записи
“a+b” Присоединяет или создает двоичный файл для чтения/записи
“rt” Открывает текстовый файл для чтения
“wt” Создает текстовый файл для записи
“at” Присоединяет к текстовому файлу
“r+t” Открывает текстовый файл для чтения
“w+t” Создает текстовый файл для чтения/записи
“a+t” Открывает или создает текстовый файл для чтения/записи

Примечание. При использовании “r” или “a” поток должен существовать.

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

Если необходимо открыть файл с именем “a:\file1.dat” на запись, следует записать:

FILE *fp;

...

fp = fopen(“a:\file1.dat”, “w”);

или лучше

FILE *fp;

...

if ((fp = fopen(“a:\file1.dat”, “w”) = = NULL) {

puts(“Не могу открыть файл”)ж

exit(1); }

else puts(“Файл открыт для записи”);

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

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

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

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

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





Дата публикования: 2015-10-09; Прочитано: 283 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2025 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.084 с)...