Open
Мощная функция open предназначена как для открытия существующих файлов, так и для создания новых:
int open (char *filename, int oflag [, int pmode]);
Первый и третий параметры этой функции аналогичны параметрам функции creat , причем третий параметр нужен только при создании нового файла. Квадратные скобки указывают на то, что этот параметр можно не указывать.
Параметр oflag может являться результатом логической операции ИЛИ над следующими константами, определенными в файле fcntl.h:
Константа | Описание |
O_APPEND | При записи в файл информация будет добавляться в конец файла |
O_BINARY | Файл открывается для работы в двоичном режиме (игнорируются управляющие символы, такие как конец строки) |
O_CREAT | Создается новый файл и открывается для записи. Эта константа игнорируется, если указанный в первом параметре файл уже существует |
O_EXCL | Используется вместе с O_CREAT . Если указанный в первом параметре файл существует, функция возвратит признак ошибки |
O_RDONLY | Файл открывается только для чтения, попытка записи в файл приведет к тому, что функция записи вернет признак ошибки |
O_RDWR | Файл открывается как для чтения, так и для записи |
O_TEXT | Файл открывается в текстовом режиме |
O_TRUNC | Существующий файл открывается и обрезается до нулевой длины (если для этого файла разрешена операция записи) |
O_WRONLY | Файл открывается только для записи (в MS-DOS для файла, открытого с признаком O_WRONLY , разрешено выполнение операции чтения) |