c語言中的creat()函數使用及參數詳解

頭文件:#include <sys/types.h>   #include <sys/stat.h>   #include <fcntl.h>

  1. #include <fcntl.h>                          // 提供open()函數  
  2. #include <sys/types.h>                      // 提供mode_t類型  
  3. #include <sys/stat.h>                       // 提供open()函數的符號  
  4. #include <unistd.h>                         // 提供close()函數

定義函數:int creat(const char * pathname, mode_tmode);

函數說明:
1、參數 pathname 指向欲建立的文件路徑字符串。
2、Creat()相當於使用下列的調用方式調用open()
    open(const char * pathname, (O_CREAT|O_WRONLY|O_TRUNC));
  

     filename:要創建的文件名(包括路徑,默認當前路徑)

     mode:創建模式(0表示沒有任何權限

     S_IRUSR可讀,1

     S_IWUSR可寫,2

     S_IXUSR可執行,4

    S_IRWXR可讀、寫、執行)7(也可以用數字代替,如0777)

返回值:文件描述符,值爲一個整數,發生錯誤時返回-1

返回值:
creat()會返回新的文件描述詞, 若有錯誤發生則會返回-1, 並把錯誤代碼設給errno.

錯誤提示:
EEXIST參數:pathname 所指的文件已存在.
EACCESS參數:pathname 所指定的文件不符合所要求測試的權限
EROFS:欲打開寫入權限的文件存在於只讀文件系統內
EFAULT參數:pathname 指針超出可存取的內存空間
EINVAL參數:mode 不正確.
ENAMETOOLONG參數:pathname 太長.
ENOTDIR 參數:pathname 爲一目錄
ENOMEM :核心內存不足
ELOOP 參數:pathname 有過多符號連接問題.
EMFILE:已達到進程可同時打開的文件數上限
ENFILE:已達到系統可同時打開的文件數上限

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章