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

2021-08-28 15:02:42 字數 1053 閱讀 1459

讀寫檔案通常是大量的資料(這種大量是相對於底層驅動的系統呼叫所實現的資料操作單位而言),這時,使用庫函式就可以大大減少系統呼叫的次數。這一結果又緣於緩衝區技術。在使用者空間和核心空間,對檔案操作都使用了緩衝區,例如用fwrite寫檔案,都是先將內容寫到使用者空間緩衝區,當使用者空間緩衝區滿或者寫操作結束時,才將使用者緩衝區的內容寫到核心緩衝區

函式原型:  

file *fopen(const char *filename, const char *mode);

int fclose(file *stream);

引數說明:

filename:開啟檔案的檔名

mode:開啟的方式

"r"或"rb":以唯讀方式開啟

"w"或"wb":以只寫方式開啟

"a"或"ab":以讀方式開啟,新增到檔案的結尾處

"r+"或"rb+"或"r+b":開啟更新(讀和寫)

"w+"或"wb+"或"w+b":開啟更新,將其長度變為零

"a+"或"ab+"或"a+b":開啟更新,新增到檔案結尾處

[注意]b表明這個檔案是二進位制檔案而不是文字檔案.

file:返回值,成功是返回乙個非空的file *指標。失敗返回null

函式原型:  

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

size_t fwrite(const coid *ptr, size_t size , size_t nitimes, file *stream);

引數說明:

ptr: 要讀取資料的緩衝區,也就是要存放讀取資料的地方。

size:指定每個資料記錄的長度。

nitems: 計數,給出要傳輸的記錄個數。

size_t:返回值,成功讀取到資料緩衝區的記錄個數,當到達檔案尾時,他的返回值可能會消耗與 n items,甚至可以是0

Linux C 多檔案程式設計

學了很久的 語言,很多程式還是只有乙個main.c,而不懂得如何多檔案程式設計。常見的程式由多個原始檔組成,通常還有一些標頭檔案。原始檔包含函式的定義和外部變數,而標頭檔案包含可以在原始檔之間共享的資訊。事實上,可以將程式分割成任意數量的原始檔。根據慣例,原始檔的副檔名必須為.c,其中乙個原始檔必須...

Linux C程式設計 3 使用C語言函式讀寫檔案

一 逐個字元讀檔案 1.源 include int main printf output data in test.txt n for i 0 i 5 i else printf nget suceesful n fclose fp return 1 test.txt檔案內容 hi,io 輸出內容為...

linux c程式設計 檔案的讀寫

linux 系統中提供了系統呼叫函式open 和close 用於開啟和關閉乙個存在的檔案 int open const char pathname,int flags int open const char pathname,int flags,mode t mode int open const ...