1.表頭檔案
#include
#include
#include
2.定義函式
int open( const char * pathname, int flags);
int open( const char * pathname,int flags, mode_t mode);
對於 open 函式來說,第三個引數(...)僅當建立新檔案時才使用,用於指定檔案的訪問許可權
pathname 是待開啟/建立檔案的路徑名
flags 用於指定檔案的開啟/建立模式,這個引數可由以下常量(定義於 fcntl.h)通過邏輯或構成
o_rdonly 唯讀模式
o_wronly 只寫模式
o_rdwr 讀寫模式
以上三者是互斥的,即不可以同時使用。開啟/建立檔案時,至少得使用上述三個常量中的乙個。以下常量是選用的
以下三個常量同樣是選用的,它們用於同步輸入輸出
o_dsync 等待物理 i/o 結束後再 write。在不影響讀取新寫入的資料的前提下,不等待檔案屬性更新。
o_rsync read 等待所有寫入同一區域的寫操作完成後再進行
o_sync 等待物理 i/o 結束後再 write,包括更新檔案屬性的 i/o
3.返回值:成功則返回檔案描述符,否則返回 -1。
返回檔案描述符(整型變數0~255)。由open 返回的檔案描述符一定是該程序尚未使用的最小描述符。只要有乙個許可權被禁止則返回-1。
4.錯誤**:(均已e開頭,將其去掉就是有關於錯誤的方面的單詞或單詞的縮寫)
eexist 引數pathname 所指的檔案已存在,卻使用了o_creat和o_excl旗標。
eaccess 引數pathname所指的檔案不符合所要求測試的許可權。
erofs 欲測試寫入許可權的檔案存在於唯讀檔案系統內。
efault 引數pathname指標超出可訪問記憶體空間。
einval 引數mode 不正確。
enametoolong 引數pathname太長。
enotdir 引數pathname不是目錄。
enomem 核心記憶體不足。
eloop 引數pathname有過多符號連線問題。
eio i/o 訪問錯誤。
LINUX下OPEN函式簡介
open 函式用於開啟和建立檔案。以下是 open 函式的簡單描述 fcntl.h int open const char pathname,int oflag,mode t mode 返回值 成功則返回檔案描述符,否則返回 1 對於 open 函式來說,第三個引數 僅當建立新檔案時才使用,用於指定...
視窗函式open
功能 開啟視窗。該函式有兩種語法格式,語法一為開啟程式設計時已知資料型別的視窗物件,語法二為開啟程式執行後才能確定資料型別的視窗物件。語法一 open windowvar 語法二 open windowvar,windowtype eg open w about,w main 語法一 ps.wind...
open函式與close函式
標頭檔案 include 在centos6.0中只要此標頭檔案就可以 include incldue 功能 開啟和建立檔案 建立乙個檔案描述符,其他的函式可以通過文 件描述符對指定檔案進行讀取與寫入的操作。原型 int open const char pathname,int flags int o...