C 檔案操作Read函式

2021-08-25 08:30:11 字數 745 閱讀 1104

1. read

標頭檔案:      #include<unistd.h>

函式原型: ssize_t read(int filedes, void *buf, size_t nbytes);

返回值:讀取到的位元組數;0(讀到 eof);-1(出錯)

read 函式從 filedes 指定的已開啟檔案中讀取nbytes位元組到 buf 中。以下幾種情況會導致讀取到的位元組數小於 nbytes :

a. 讀取普通檔案時,讀到檔案末尾還不夠 nbytes 位元組。例如:如果檔案只有 30 位元組,而我們想讀取 100 位元組,那麼實際讀到的只有 30 位元組,read 函式返回 30 。此時再使用 read 函式作用於這個檔案會導致 read 返回 0 。

b. 從終端裝置(terminal device)讀取時,一般情況下每次只能讀取一行。

c. 從網路讀取時,網路快取可能導致讀取的位元組數小於 nbytes 位元組。

d. 讀取 pipe 或者 fifo 時,pipe 或 fifo 裡的位元組數可能小於 nbytes 。

e. 從面向記錄(record-oriented)的裝置讀取時,某些面向記錄的裝置(如磁帶)每次最多只能返回乙個記錄。

f. 在讀取了部分資料時被訊號中斷。

讀操作始於 cfo 。在成功返回之前,cfo 增加,增量為實際讀取到的位元組數。

C 通過Read函式讀取檔案

通過read函式將檔案中的資料按照一定的長度讀取出來並且存放在新的陣列中。函式原型istream read char s,streamsize n 用來暫存內容的陣列 必須是char 型 以及流的長度比如我們要讀取txt檔案中的內容ifstream in test.txt 先通過檔案流將流與txt檔...

IO檔案操作函式read 和write

函式read 和write lseek 和close 的基本使用與試驗,實現檔案的寫入 讀取 移位 關閉 include include include include include include includeint main else printf open file hello.c d n...

實現read檔案

read include ssize t read int fd,檔案描述符 void buf,緩衝區 size t count 期望讀取的位元組數 成功返回實際讀取的位元組數 0表示讀到檔案尾 失敗返回 1。read.c檔案 建立read.txt檔案 1 好好學習linux 編譯執行後 taren...