第3章 檔案I O

2021-08-18 13:07:31 字數 347 閱讀 1453

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 ...