Linux網路程式設計 標準IO之讀檔案流

2021-09-23 17:02:17 字數 1357 閱讀 1650

1、fread

fread() 和檔案io中的 read() 類似:

size_t fread(void *ptr, size_t size, size_t nmemb, file *stream);

size_t size : 單個元素的大小

size_t nmemb: 讀取資料元素的個數

file *stream: 指向讀取檔案的檔案指標

返回值:實際讀取的元素個數,非負整數是成功,-1是失敗

2、fgets

fgets() 用於讀取檔案中的字串,然後將其儲存到記憶體空間:

char *fgets(char *restrict s, int n, file *restrict stream);

int n : 最大讀取字元數

file *restrict stream: 指向讀取檔案的檔案指標

返回值:如果讀取沒有錯誤且沒有讀入eof,返回寫入的字串

如果讀取沒有錯誤但讀入eof,返回null指標

如果讀取出現錯誤,返回null指標

注意:如果讀取的字元數量達到 n - 1 ,或讀取了換行符,或讀取了字串結束符,只要有乙個滿足則該函式會停止繼續讀取。

3、gets

gets() 從 stdin 中讀取字串並存放在記憶體中:

char *gets(char *s);

返回值:如果讀取沒有錯誤且沒有讀入eof,返回讀取的字串

如果讀取沒有錯誤但讀入eof,返回null指標

如果讀取出現錯誤,返回null指標

4、fgetc

fgetc() 從乙個檔案讀取乙個字元

int fgetc(file *stream);

args:file *stream: 指向讀取檔案的檔案指標

return:

如果讀取沒有錯誤且沒有讀入eof,返回讀取的字元

如果讀取沒有錯誤但讀入eof,返回eof

如果讀取出現錯誤,返回eof

注意:讀取操作將在讀入換行符或eof後結束。

5、getc

getc() 和 fgetc() 基本一樣,只不過 getc() 是用巨集實現而 fgetc() 是用函式實現。

int getc(file *stream);

args:file *stream: 指向讀取檔案的檔案指標

return:

如果讀取沒有錯誤且沒有讀入eof,返回讀取的字元

如果讀取沒有錯誤但讀入eof,返回eof

如果讀取出現錯誤,返回eof

Linux網路程式設計 標準IO之寫檔案流

1 fwrite size t fwrite const void restrict ptr,size t size,size t nitems,file restrict stream size t size 單個元素的大小 size t nitems 寫入資料元素的個數 file restric...

linux程式設計 標準IO

標準io簡介 1.標準io與三種緩衝區關聯 1 全緩衝 通過標準io對檔案 或裝置 進行操作時,通常緩衝區滿之後,才會進行實際的io操作 即寫到核心 對檔案進行操作時通常使用全緩衝。2 行緩衝 通過標準io對檔案 或裝置 進行操作時,通常緩衝區滿之後,或者遇到換行符時,才會進行實際的io操作 即寫到...

Linux標準I O程式設計

標準io的核心物件就是流 file結構體 1.流的開啟函式原型 file fopen const char path,const char mode 函式引數 path 要開啟的檔案路徑及檔名 mode 檔案開啟方式 函式返回值 成功 指向file指標 失敗 nullmode值 取值說明 r開啟唯讀...