1. 程式人生 > >Linux C 之檔案程式設計(2)

Linux C 之檔案程式設計(2)

read & write

#read

從與檔案描述符 fd 相關的檔案中讀取 n bytes 個位元組的資料到 buf 中,返回實際讀入的位元組數;

##write

將字串 buf 中前 n bytes 個位元組的資料寫入與檔案描述符 fd 關聯的檔案中,返回實際寫入的位元組數。

標頭檔案:  
#include <unistd.h>  
  
函式原型:  
size_t read(int fd, void *buf, size_t nbytes);  

size_t write(int fd, const void *buf, size_t nbytes);  
  
引數說明:  
fd:檔案描述符,標識要讀取的檔案。如果為0,則從標準輸入讀資料。  
buf:緩衝區,用來儲存讀入的資料。  
nbytes:要讀取的字元數。  
size_t:返回值,返回成功讀取的字元數,它可能會小於請求的位元組數。-1表示出現錯誤。 

fd:檔案描述符,目標檔案。例如:fd的值為1,就向標準輸出寫資料,  
buf:待寫入的字串。  
nbytes:要寫入的字元數。  

lseek

 lseek對檔案描述符fd指定檔案的讀寫指標進行設定,也就是說,它可以設定檔案的下一個讀寫位置。

標頭檔案:  
#include <unistd.h>  
#include <sys/types.h>  
  
函式原型:  
off_t lseek(int filedes, off_t offset, int whence);  
引數說明:  
off_set:引數用來指定位置  
whence:引數定義該偏移值的用法。  
* whence可以取下列值  
** SEEK_SET:offset是一個絕對位置  
** SEEK_CUR:offset是相對於當前位置的一個相對位置  
** SEEK_END:offset是相對於檔案尾的一個相對位置  
off_t:lseek返回從檔案到檔案指標被設定處的位元組偏移,失敗時返回-1.引數offset的型別off_t是一個與具體實現有關的整數型別,它定義在sys/types.h中