CodeNet / Языки программирования / C / C++ / Linux/Unix / Справочник С/C++ для UNIX - Список функций
CodeNet / Языки программирования / C / C++ / Руководства и справочные материалы по C/C++ / Справочники по функциям / Справочник С/C++ для UNIX - Список функций
CodeNet / Языки программирования / C / C++ / Руководства и справочные материалы по C/C++ / Справочники по функциям / Справочник С/C++ для UNIX - Список функций
creat
CREAT #include <sys\types.h> #include <sys\stat.h> #include <io.h> требуется только для объявления функций. int creat(pathname, pmode); char *pathname; path-имя нового файла int pmode; разрешенный режим доступа Описание. Функция creat либо создает новый файл, либо открывает и об- новляет (усекает до длины 0) существующий файл. Если существует файл, определяемый path-именем, то создается новый файл с задан- ным режимом доступа и являющийся открытым для записи. Если файл существует и его режим доступа позволяет запись, тогда функция creat усекает файл к длине 0, уничтожая все содержимое, и однов- ременно открывает файл. Разрешенный режим доступа - pmode - применяется только для вновь созданных файлов. Новый файл получает установленный режим доступа после первого его закрытия. Целое выражение pmode состоит из одной или нескольких манифестных констант - S_IWRITE и S_IREAD, объявленных в <sys\stat.h>. Если задаются обе константы, они объединяются при помощи логического OR (:). Значение аргумен- та pmode приводится ниже. КОНСТАНТА СМЫСЛОВОЕ ЗНАЧЕНИЕ S_IWRITE разрешает запись S_IREAD разрешает чтение S_IREAD:S_IWRITE разрешают чтение и запись Если запись не разрешена, файл предназначен только для чте- ния. В MS DOS нельзя разрешить только запись. Поэтому режимы S_IWRITE и S_IREAD: S_IWRITE являются эквивалентными. В версиях MS DOS 3.0 и старших файлы, открываемые при помо- щи creat, всегда открываются в совмещенном режиме (compatibility mode). Функция creat перед установкой флага доступа присваивает pmode маске доступа (подробно об этом смотрите umask). Возвращаемое значение. В случае успешного вызова эта функция возвращает handle на созданный файл. Возвращаемое значение -1 свидетельствует об ошиб- ке; errno устанавливается в одно из следующих значений: ВОЗВРАЩАЕМАЯ СМЫСЛОВОЕ ЗНАЧЕНИЕ ВЕЛИЧИНА EACCES Path-имя определяет существующий файл только для чтения или определяет директорий вместо файла EMFILE другие handle-ры файла не пригодны, т.к. много открытых файлов ENOENT path-имя не найдено. См. также chmod, chsize, close, dup, dup2, open, sopen, umask. Замечание. Процедура create обеспечивает первоначальную совместимость с предыдущими библиотеками. Вызов open при помощи значений O_CREAT и O_TRUNC, определенных в аргументе oflag, явля- ется зквивалентным и предпочтительным для нового кода. Пример: #include <sys\types.h> #include <sys\stat.h> #include <io.h> #include <stdlib.h> int fh; fh = creat("data", S_IREAD|S_IWRITE); if (fh == -1) perror("Couldn't create data file");.