一、文件描述符
所有的打開的文件由文件描述符引用, 一個非負整數。
0 一般代表標準輸入,1一般代表標準輸出, 2代表標準出錯輸出
二、open
int open(const char *pathname, int flag,... ) ;pathname 打開或創建的文件名
flag ::
3選1? O_RDONLY 只讀打開。? O_WRONLY 只寫打開。? O_RDWR 讀、寫打開。
可選項
? O_APPEND 每次寫時都加到文件的尾端。=? O_CREAT 若此文件不存在則創建它。使用此選擇項時,需同時說明第三個參數,用其說明該新文件的存取許可權位。? O_EXCL 如果同時指定了O_CREAT,而文件已經存在,則出錯。這可測試一個文件是否存在,如果不存在則創建此文件成為一個原子操作。? O_TRUNC 如果此文件存在,而且為只讀或只寫成功打開,則將其長度截短為 0。? O_NOCTTY 如果pathname指的是終端設備,則不將此設備分配作為此進程的控制終端。? O_NONBLOCK 如果pathname指的是一個FIFO、一個塊特殊文件或一個字符特殊文件,此選擇項為此文件的本次打開操作和后續的I/O操作設置非阻塞方式。
? O_SYNC 使每次w r i t e都等到物理I / O操作完成。三、create
int creat(const char *pathname, mode_tmode) ;
此函數等效于:open( pathname, O_WRONL|O_CREAT| O_TRUNC,mode) ;
四、close
int close (int fd)關閉一個文件時也釋放該進程加在該文件上的所有記錄鎖當一個進程終止時,它所有的打開文件都由內核自動關閉。很多程序都使用這一功能而不顯式地用close關閉打開的文件。->剩余9997小時30分鐘
新聞熱點
疑難解答