3.7 函式read
呼叫read函式從開啟檔案中讀資料。
#include
ssize_t read(int fd, void *buf, size_t nbytes);
返回值:讀到的位元組數,若已到檔案尾,返回0;若出錯,返回-1
如read成功,則返回讀到的位元組數。如已到達檔案的尾端,則返回0。
有多種情況可使實際讀到的位元組數少於要求讀的位元組數:
讀操作從檔案的當前偏移量處開始,在成功返回之前,該偏移量將增加實際讀到的位元組數。
經典的原型定義是:
int read(int fd, char *buf, unsigned nbytes);
第3章 檔案I O
引言unix系統中的大多數檔案i o 只需要用到5個函式 open read write lseek以及close 檔案描述符 用於描述檔案開啟或者建立之後返回的乙個非負整數,可以理解為檔案的id 特殊用途的標號 0 標準輸入 1 標準輸出 2 標準錯誤 早期系統一般乙個程序最多開啟16個檔案,現在...
第3章 檔案I O
3.2 檔案描述符 對於核心而言,所有開啟的檔案都通過檔案描述符引用。檔案描述符時乙個非負整數。當開啟乙個現有檔案或建立乙個新檔案時,核心向程序返回乙個檔案描述符。當讀 寫乙個檔案時,使用open或creat返回的檔案描述符標識該檔案,將其作為引數傳送給read或write。按照慣例,unix系統s...
第3章 檔案I O
3.3 函式open和openat 呼叫open或openat函式可以開啟或建立乙個檔案。iinclude int open const char path,int oflag,mode t mode int openat int fd,const char path,int oflag,mode ...