Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


Открытие файла. Прежде, чем работать с файлом на диске или сменном носителе его необходимо открыть




Прежде, чем работать с файлом на диске или сменном носителе его необходимо открыть. Для этого заранее объявляется указатель на структуру FILE.

Заголовок функции открытия файла:

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

параметры: name – строка, содержащая имя файла, mode – строка, содержащая режим открытия файла, mode может состоять из 2-х частей, 1-ая часть обязательная, возможные значения символы:

«r» – режим «чтение», файл должен существовать;

«w» – режим «запись», если файл существует, то его содержимое стирается; «a» – режим «добавление», если файл не существует, он создается заново, если файл существует, содержимое его не теряется, запись производится всегда в конец файла;

«r+» – режим «чтение + запись», файл должен существовать (как при чтении);

«w+» – режим «запись + чтение», если файл существует, то его содержимое стирается (как при записи);

«a+» – режим «добавление + чтение», как в режиме «добавление» запись всегда производится в конец файла.

Вторая часть необязательная, возможные значения символы:

«t» – файл открывается в текстовом режиме (по умолчанию), при чтении последовательность символов \r\n преобразуется в \n, при записи происходит обратное преобразование, кроме того, символ с кодом 1A интерпретируется как конец файла;

«b» – файл открывается в двоичном режиме, подобные преобразования не проводятся.

Функция возвращает указатель на структуру FILE или NULL в случае ошибки.

Примеры открытия файлов:

FILE *pF;

pF=fopen(“MyFile.txt”, “w”);

Здесь создается файл в текущем каталоге операционной системы с именем MyFile.txt, файл создается для записи в текстовом режиме. Если файл с таким имен уже существовал, то старое его содержимое стирается.

FILE *pF;

pF=fopen(“C:\\Catalog1\\MyFile.dat”, “rb”);

Открывается файл с именем MyFile.dat на диске С: в каталоге Catalog1, файл открывается для чтения в двоичном режиме, файл должен существовать, в противном случае функция возвращает значение NULL. Следует обратить внимание на то, что символ «\» является внутри строки служебным, поэтому, чтобы его включить в строку в качестве обычного символа передним ставится тот же символ «\».

FILE *pF;

pF=fopen(“C:\\Catalog1\\MyFile.txt”, “a+”);

Открывается файл с именем MyFile.txt на диске С: в каталоге Catalog1, файл открывается для добавления и чтения в текстовом режиме, файл может существовать или, если он не существует, то он создается заново.

Следует отметить, что компилятор Microsoft Visual С++ 2013 выдает ошибку при использовании fopen (более ранние компиляторы выдавали предупреждение), сообщается, что функция fopen является небезопасной и устаревшей и предлагается воспользоваться другой функцией fopen_s. Функция имеет заголовок:

errno_t fopen_s(

FILE** pFile,

const char *filename,

const char *mode

);

Основное отличие в том, что указатель на структуру FILE передается в первый параметр функции через указатель. Пример открытия файла для записи:

FILE *pF;

fopen_s(&pF, “MyFile.txt”, “w”);

 

 





Поделиться с друзьями:


Дата добавления: 2015-10-01; Мы поможем в написании ваших работ!; просмотров: 397 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Жизнь - это то, что с тобой происходит, пока ты строишь планы. © Джон Леннон
==> читать все изречения...

2323 - | 2092 -


© 2015-2025 lektsii.org - Контакты - Последнее добавление

Ген: 0.009 с.