【C 語言】文件操作 ( 按照內(nèi)存塊的方式讀寫文件 | fread 函數(shù) | fwrite 函數(shù) )
文章目錄
一、fwrite 函數(shù)
二、fread 函數(shù)
三、按照內(nèi)存塊的方式寫文件
四、按照內(nèi)存塊的方式讀文件
一、fwrite 函數(shù)
fwrite 函數(shù) : 將 const void *ptr 指針指向的 內(nèi)存數(shù)據(jù) , 拷貝 size_t size 乘以 size_t nmemb 字節(jié)的數(shù)據(jù)到 FILE *stream 指針指向的文件中 ;
#include
1
2
二、fread 函數(shù)
fread 函數(shù) : 從 FILE *restrict stream 指向的文件中 , 讀取 size_t size 乘以 size_t count 字節(jié)的數(shù)據(jù)到 void *restrict buffer 緩沖區(qū)中 , 返回成功讀取的 size_t count 數(shù) , 注意 不是 字節(jié)數(shù) , 是 字 節(jié) 數(shù) s i z e \cfrac{字節(jié)數(shù)}{size} size字節(jié)數(shù) 的值 ;
#include
1
2
三、按照內(nèi)存塊的方式寫文件
代碼示例 :
// 文件指針 FILE *fp = NULL; // 文件路徑 char *filename = "D:/File/file.txt"; // 數(shù)組 Student students[3] = {0}; // 循環(huán)控制變量 int i = 0; // 初始化結(jié)構(gòu)體數(shù)組數(shù)據(jù) for(i = 0; i < 3; i++) { sprintf(students[i].name, "Tom %d", i + 1); students[i].age = 18 + i; } // 以 讀寫 方式打開 文本文件 // 文件如果不存在 , 則創(chuàng)建文件 fp = fopen(filename, "wb"); // 向文件中寫出結(jié)構(gòu)體數(shù)組數(shù)據(jù) fwrite(students, sizeof(Student), 3, fp); // 關(guān)閉文件 fclose(fp); // 如果沒有關(guān)閉文件 , 則需要等待文件執(zhí)行完畢后 , 才能將內(nèi)存緩存寫出磁盤文件中 // 命令行不要退出 system("pause"); return 0;
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
執(zhí)行結(jié)果 : 每個(gè)結(jié)構(gòu)體 24 24 24 字節(jié) , 寫出了 3 3 3 個(gè)結(jié)構(gòu)體 , 最終文件大小 72 72 72 字節(jié) ;
數(shù)據(jù)內(nèi)容 :
二進(jìn)制查看 :
四、按照內(nèi)存塊的方式讀文件
代碼示例 :
#include
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
執(zhí)行結(jié)果 :
C 語言 數(shù)據(jù)結(jié)構(gòu)
版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實(shí)的內(nèi)容,請(qǐng)聯(lián)系我們jiasou666@gmail.com 處理,核實(shí)后本網(wǎng)站將在24小時(shí)內(nèi)刪除侵權(quán)內(nèi)容。
版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實(shí)的內(nèi)容,請(qǐng)聯(lián)系我們jiasou666@gmail.com 處理,核實(shí)后本網(wǎng)站將在24小時(shí)內(nèi)刪除侵權(quán)內(nèi)容。