#include
#include
#include
int
open
(const
char
*pathname,
int flags)
;int
open
(const
char
*pathname,
int flags, mode_t mode)
;功能:
開啟檔案,如果檔案不存在則可以選擇建立。
引數: pathname:檔案的路徑及檔名
flags:開啟檔案的行為標誌,必選項 o_rdonly, o_wronly, o_rdwr
mode:這個引數,只有在檔案不存在時有效,指新建檔案時指定檔案的許可權
返回值:
成功:成功返回開啟的檔案描述符
失敗:-
1
flags詳細說明
必選項取值
含義o_rdonly
以唯讀的方式開啟
o_wronly
以只寫的方式開啟
o_rdwr
以可讀、可寫的方式開啟
#include
int
close
(int fd)
;功能:
關閉已開啟的檔案
引數: fd : 檔案描述符,open
()的返回值
返回值:
成功:0
失敗: -
1, 並設定errno
需要說明的是,當乙個程序終止時,核心對該程序所有尚未關閉的檔案描述符呼叫close關閉,所以即使使用者程式不呼叫close,在終止時核心也會自動關閉它開啟的所有檔案。
但是對於乙個長年累月執行的程式(比如網路伺服器),開啟的檔案描述符一定要記得關閉,否則隨著開啟的檔案越來越多,會占用大量檔案描述符和系統資源。
#include
ssize_t write
(int fd,
const
void
*buf, size_t count)
;功能:
把指定數目的資料寫到檔案(fd)
引數: fd : 檔案描述符
buf : 資料首位址
count : 寫入資料的長度(位元組)
返回值:
成功:實際寫入資料的位元組個數
失敗: -
1
#include
ssize_t read
(int fd,
void
*buf, size_t count)
;功能:
把指定數目的資料讀到記憶體(緩衝區)
引數: fd : 檔案描述符
buf : 記憶體首位址
count : 讀取的位元組個數
返回值:
成功:實際讀取到的位元組個數
失敗: -
1
#include
#include
off_t lseek
(int fd, off_t offset,
int whence)
;功能:
改變檔案的偏移量
引數: fd:檔案描述符
offset:根據whence來移動的位移數(偏移量),可以是正數,也可以負數,如果正數,則相對於whence往右移動,如果是負數,則相對於whence往左移動。如果向前移動的位元組數超過了檔案開頭則出錯返回,如果向後移動的位元組數超過了檔案末尾,再次寫入時將增大檔案尺寸。
whence:其取值如下:
seek_set:從檔案開頭移動offset個位元組
seek_cur:從當前位置移動offset個位元組
seek_end:從檔案末尾移動offset個位元組
返回值:
若lseek成功執行, 則返回新的偏移量
如果失敗, 返回-
1
所有開啟的檔案都有乙個當前檔案偏移量(current file offset),以下簡稱為 cfo。cfo 通常是乙個非負整數,用於表明檔案開始處到檔案當前位置的位元組數。 檔案I O函式
開啟或者建立檔案 open openat include int open const char path,int oflag,int openat int fd,const char path,int oflag,成功返回檔案描述符,失敗返回 1 oflag引數 o rdonly o wronly...
檔案I O函式 fputs 函式
描述 c 庫函式int fputs const char str,file stream 把字串寫入到指定的流stream中,但不包括空字元。宣告 int fputs const char str,file stream 引數 返回值 該函式返回乙個非負值,如果發生錯誤則返回 eof。用法 incl...
檔案I O函式 fgets 函式
描述 c 庫函式char fgets char str,int n,file stream 從指定的流stream讀取一行,並把它儲存在str所指向的字串內。當讀取 n 1 個字元時,或者讀取到換行符時,或者到達檔案末尾時,它會停止,具體視情況而定。宣告 char fgets char str,in...