帶快取的I O操作

2021-07-23 19:09:10 字數 2514 閱讀 4621

函式的作用: 開啟檔案

函式的原型:

file *fopen(const

char *pth, const

char *mode)

mode:

r:讀,檔案必須存在;

r+:開啟可讀寫,檔案必須存在;

w:開啟只寫檔案,檔案不存在就會建立檔案; 檔案清0;

w+:開啟可讀寫的檔案,

a:附加的形式開啟只寫檔案,不存在就建立,存在就寫到原來的檔案尾。

a+:以附加的形式開啟可讀寫的檔案,不存在就建立,存在就寫到原來的檔案尾。

b:二進位制檔案

檔案頭#include

返回值:

成功是指向檔案流的指標;

出錯返回null;

函式的作用: 將乙個指定的字元寫入到檔案流中;

函式的原型:

int fputc(int c, file *stream);
返回值:

返回寫入成功的字元,c;

eof則表示失敗。

函式的作用:從檔案流中讀取乙個字元

函式原型:

int fgetc(file *stream)

返回值:

返回值正常的是讀取的字元;

eof表示到了檔案尾;

函式的作用:將乙個字串寫入到檔案內

函式的原型:

int fputs(const char *s, file *stream)

返回值:

成功返回寫成字元數;

eof表示出錯

函式的作用:從檔案中讀取乙個字串;

函式的原型:

char *fgets(char *s, int size, file *steam)

函式的引數:從stream中讀size-1個字元到s中

返回值:

成功返回s,

出錯null。

函式的作用:從檔案流中讀取資料塊

函式原型:

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

返回值:

返回實際讀到資料塊的數目

比nmember小的話,可能是到了檔案尾,或者錯誤發生。

feof :到檔案尾;

ferror:判斷錯誤的

函式的作用: 將資料塊寫到檔案流中:

函式原型:

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

返回值:

實際寫入的nmemb數目;

函式的作用:移動檔案流的讀寫位置

函式的原型:

int fseek(file * stream, long offset, int whence)

返回值:

成功返回0, 出錯-1;

函式的作用:讀取檔案流的讀寫位置;

函式的原型:

long ftell(file * stream)

返回值:

成功返回當前的讀寫位置;

出錯-1;

函式的作用: 檢測檔案流是否到了檔案尾

函式的原型:

int feof(file *steam)

返回值:

非零代表到了檔案尾,其他是0;

函式的作用:格式化資料到檔案

函式的原型:

int fprintf(file *stream, const char *format, ....);

返回值:

成功返回實際輸入的字元數,失敗-1;

函式的作用: 格式化字串輸入

函式的原型:

int fscanf(file *strem, const char *fromat,....)

返回值:

成功返回引數數目,出錯-1

帶快取IO和不帶快取IO

ssize t write int fd,const void buf,size t count 寫操作時,設每次寫入長度count 10個位元組,那麼你幾要呼叫10次這個函式才能把這個緩衝區寫滿,此時資料還是在緩衝區,並沒有寫入到磁碟,緩衝區滿時才進行實際上的io操作,把資料寫入到磁碟上,所以上面...

不帶快取的I O和標準 帶快取的 I O

ssize t write int fd,const void buf,size t count 寫操作時,設每次寫入長度count 10個位元組,那麼你幾要呼叫10次這個函式才能把這個緩衝區寫滿,此時資料還是在緩衝區,並沒有寫入到磁碟,緩衝區滿時才進行實際上的io操作,把資料寫入到磁碟上,所以上面...

不帶快取操作的I O操作(1)

函式的作用 建立乙個檔案 函式的原型 int creat const char filename,mode t mode 函式的引數 mode 為建立模式 可讀 s irusr 可寫 s iwusr 標頭檔案 include include include返回值 成功 新的檔案描述符 失敗 1 函式...