fopen()
include <stdio.h> FILE *fopen(const char *fname, const char *mode);
Описание
Открывает файл и возвращает поток, связываемый с этим файлом
Функция fopen() открывает файл, имя которого задается параметром fname, и возвращает поток, связываемый с этим файлом. Типы операций, которые разрешено выполнять с файлом, определяются параметром mode. Возможные значения параметра mode показаны в приведенной ниже таблице. Элемент fname должен представлять строку символов, составляющих имя файла, которое разрешено определенными в данной операционной системе правилами. Эта строка может включать спецификацию пути, если действующая среда поддерживает такую возможность. В версии С99 к параметрам fname и mode применен квалификатор restrict.
Если функция fopen() успешно открыла заданный файл, она возвращает указатель FILE. Если файл не удается открыть, возвращается нулевой указатель. Как видно из таблицы, файл можно открывать либо в текстовом, либо в двоичном режиме. При открытии в текстовом режиме выполняются преобразования некоторых последовательностей символов. Например, символы новой строки преобразуются в последовательности символов "возврат каретки"/"перевод строки". В двоичном режиме подобные преобразования не выполняются. В следующем фрагменте программы иллюстрируется корректный способ открытия файла. FILE *fp; if ((fp = fopenf("test", "w"))==NULL) { printf("He удается открыть файл.\n"); exit(1); } При таком методе выявляется любая ошибка, связанная с открытием файла (например, при использовании защищенного от записи или заполненного диска), и только после этого можно предпринимать попытку записи в заданный файл. Если вы используете функцию fopen(), чтобы открыть файл исключительно для выполнения операций вывода (записи), любой уже существующий файл с заданным именем будет стерт и вместо него будет создан новый. Если файл с таким именем не существует, он будет создан. Чтобы открыть файл для выполнения операций чтения, необходим этот файл. В противном случае функция возвратит значение ошибки. Если вам нужно добавлять данные в конец файла, используйте режим "а". Если окажется, что указанный файл не существует, он будет создан. Совет программистуЛюбой файл можно открыть либо в текстовом, либо в двоичном режиме. Что в действительности содержит файл, не имеет при этом никакого значения. Например, файл, содержащий текст ASCII, все равно можно открыть и обрабатывать, как двоичный. Различное поведение файловой системы ANSI С при обработке двоичных и текстовых файлов проявляется лишь в том, что при открытии файла в двоичном режиме никаких преобразований символов не происходит. При выполнении различных не текстовых операций с файлом действительно стоит открывать текстовый файл, как двоичный. Например, файловые утилиты, которые выполняют функции сравнения, сжатия или сортировки, обычно открывают файлы в режиме двоичного доступа. Кроме того, программы шифрования файлов практически всегда работают в двоичном режиме. Главное различие между текстовым и двоичным файлом не в том, что файл содержит, а в том, каким способом он открыт. |
Нет комментариев. Оставить комментарий: |