(1)相關函式說明
函式原型
int read(int fd,void * buf ,size_t count);
相關函式
readdir,write,fcntl,close,lseek,readlink,fread
表頭檔案
#include
函式說明
【從檔案描述符fd所指定的檔案中,讀取count個位元組,到buf所指向的緩衝區中,返回值為實際讀取的位元組數】
read()會把引數fd 所指的檔案傳送count個位元組到buf指標所指的記憶體中。若引數count為0,則read()不會有作用並返回0。返回值為實際讀取到的位元組數,如果返回0,表示已到達檔案尾或是無可讀取的資料,此外檔案讀寫位置會隨讀取到的位元組移動。
附加說明
如果順利read()會返回實際讀到的位元組數,最好能將返回值與引數count 作比較,若返回的位元組數比要求讀取的位元組數少,則有可能讀到了檔案尾、從管道(pipe)或終端機讀取,或者是read()被訊號中斷了讀取動作。當有錯誤發生時則返回-1,錯誤**存入errno中,而檔案讀寫位置則無法預期。
錯誤**
eintr 此呼叫被訊號所中斷。
eagain 當使用不可阻斷i/o 時(o_nonblock),若無資料可讀取則返回此值。
ebadf 引數fd 非有效的檔案描述詞,或該檔案已關閉。
範例
參考open()。
(2)例項原始碼
參考最終「綜合例項」(檔案拷貝)。
(3)除錯結果
參考最終「綜合例項」(檔案拷貝)。
Linux檔案程式設計之 系統呼叫 open
1 相關函式說明 函式原型 int open const char pathname,int flags int open constchar pathname,int flags,mode t mode 如果使用了o creat標誌,則要使用這個函式,這時需要指定mode來表示檔案的訪問許可權 相...
Linux檔案程式設計之 系統呼叫 close
1 相關函式說明 相關函式 open,fcntl,shutdown,unlink,fclose 表頭檔案 include 定義函式 int close intfd 引數說明 引數fd為先前由open 或creat 所返回的檔案描述詞。當使用完檔案後若已不再需要則可使用close 關閉該檔案,而clo...
Linux檔案程式設計之 系統呼叫 write
1 相關函式說明 函式原型 int write int fd,const void buf,size t count 相關函式 open,read,fcntl,close,lseek,sync,fsync,fwrite 表頭檔案 include 函式說明 從buf所指向的緩衝區中,取出count個位...