C語言 檔案IO程式設計

2021-10-20 15:16:55 字數 1919 閱讀 9835

檔案io程式設計:

優點:適用於訪問大量資料的場景,節省記憶體

缺點:速度降低

檔案io操作:開啟->操作->關閉

1.fopen函式:開啟檔案

函式原型:size_t fwrite(const void *ptr, size_t size, size_t count, file *stream)

把ptr所指向的資料寫入檔案中,成功將返回實際寫入的資料數目,失敗返回-1 。

(1)引數1:

ptr:要寫的資料首位址

(2)引數2:

size:每個資料的大小(位元組)

(3)引數3:

count:資料的數目

(4)引數4:

stream:已開啟的檔案指標

3.fread函式:對檔案進行讀操作

函式原型:size_t fread(void *buffer,size_t size,size_t count,file *stream);

從檔案讀取size * count空間大小的資料到buffer

4.fclose函式:關閉檔案

函式原型:int fclose(file *stream)

關閉檔案指標stream指向的檔案。

簡單例子:將資料存入磁碟檔案test.txt中,再從檔案讀取、輸出資料。

#include

#include

intmain()

fwrite

(s,sizeof

(char),

sizeof

(s)/

sizeof

(char

), fp)

;//將字串s寫入檔案

fwrite

(&a,

sizeof

(int),

1, fp)

;//將a的值寫入檔案

fclose

(fp)

;char b[9]

=;//這裡b陣列空間大小要和s相同,不然會讀錯c

int c=0;

if(( fp=

fopen

("test.txt"

,"r+"))

==null

)//以r+模式開啟檔案

fread

(b,sizeof

(char),

sizeof

(b)/

sizeof

(char

), fp)

;//從檔案讀s字串到b

fread

(&c,

sizeof

(int),

1, fp)

;//從檔案讀a的值到c

fclose

(fp)

;printf

("%s\n"

,b);

//輸出從檔案讀到的資料

printf

("%d\n"

,c);

return0;

}

程式結果:

上面實現了最基本的輸入輸出,如果需要更複雜的操作,還有其他的檔案io操作函式:

fseek函式:檔案定位

rewind函式:清楚錯誤標記,將檔案定位在開頭

fflush函式:更新檔案流快取區

等等注:

①注意檔案的開啟方式,不合適的開啟方式可能會失敗;比如不存在的檔案用r+方式開啟就不行了。

②在電腦上顯示非字串會出現亂碼,因為編碼的問題,txt只能顯示字串文字資訊。

③連續、多次從檔案讀取資料時要考慮好檔案指標定位和讀取空間越界的問題。

C語言 檔案IO

c語言 檔案io include stdafx.h include include include using namespace std 使用標頭檔案的命名空間 struct student struct student stu 10 初始化結構體的大小為10 初始化結構體 void initst...

C語言檔案IO操作(標準IO)

函式 file fopen const char path,const char mode 引數1 將要開啟的檔案路徑 引數2 開啟檔案的方式 1.r 唯讀的方式開啟 2.w 若檔案不存在則建立檔案,若存在此檔案則清空檔案內容並打卡 3.a 若檔案不存在則建立檔案,若存在則在末尾追加 不會清空原檔案...

C語言 檔案I O操作

c語言讀寫檔案的步驟一般是 建立或開啟檔案 讀或寫檔案 關閉檔案 當然讀或寫的過程中還可以通過操作當前檔案偏移量來控制讀寫位置。下面分別介紹這些函式 標頭檔案 include 此標頭檔案定義了以下oflag o rdonly 唯讀0 o wronly 只寫1 o rdwr 讀寫2 上面三個oflag...