fgets() 有侷限性,每次最多只能從檔案中讀取一行內容,因為 fgets 遇到換行符就結束讀取。如果希望讀取多行內容,需要使用 fread 函式;相應地寫入函式為 fwrite。
fread() 函式用來從指定檔案中讀取塊資料。所謂塊資料,也就是若干個位元組的資料,可以是乙個字元,可以是乙個字串,可以是多行資料,並沒有什麼限制。fread() 的原型為:
size_t fread ( void *ptr, size_t size, size_t count, file *fp );fwrite() 函式用來向檔案中寫入塊資料,它的原型為:
size_t fwrite ( void * ptr, size_t size, size_t count, file *fp );對引數的說明:
size_t 是在 stddef.h 標頭檔案中使用 typedef 定義的資料型別,表示無符號整數,也即非負數,常用來表示數量。
返回值:返回成功讀寫的塊數,也即 count。如果返回值小於 count:
【示例】從鍵盤輸入乙個陣列,將陣列寫入檔案再讀取出來。
複製純文字複製
#include#define n 5
intmain
()//從鍵盤輸入資料 並儲存到陣列a
for(i=
0; i//將陣列a的內容寫入到檔案
fwrite
(a, size, n, fp);
//將檔案中的位置指標重新定位到檔案開頭
rewind
(fp);
//從檔案讀取內容並儲存到陣列b
fread
(b, size, n, fp);
//在螢幕上顯示陣列b的內容
for(i=
0; iprintf("
\n");fclose
(fp);
return0;
}
#include#define n 5int main()
//從鍵盤輸入資料 並儲存到陣列a
for(i=0; ic語言rewind函式。
檔案的字尾不一定是 .txt,它可以是任意的,你可以自己命名,例如 demo.ddd、demo.doc、demo.diy 等。【示例】從鍵盤輸入兩個學生資料,寫入乙個檔案中,再讀出這兩個學生的資料顯示在螢幕上。複製純文字複製
#include#define n 2
struct
stuboya[n], boyb[n],
*pa,
*pb;
intmain
()//從鍵盤輸入資料
printf
("input data:\n"
);for
(i=0
; i//將陣列 boya 的資料寫入檔案
fwrite
(boya,
sizeof
(struct
stu), n, fp);
//將檔案指標重置到檔案開頭
rewind
(fp);
//從檔案讀取資料並儲存到資料 boyb
fread
(boyb,
sizeof
(struct
stu), n, fp);
//輸出陣列 boyb 中的資料
for(i=
0; ifclose
(fp);
return0;
}
#include#define n 2struct stuboya[n], boyb[n], *pa, *pb;
int main()
//從鍵盤輸入資料
printf("input data:\n");
for(i=0; iname, &pa->num,&pa->age, &pa->score);
}//將陣列 boya 的資料寫入檔案
fwrite(boya, sizeof(struct stu), n, fp);
//將檔案指標重置到檔案開頭
rewind(fp);
//從檔案讀取資料並儲存到資料 boyb
fread(boyb, sizeof(struct stu), n, fp);
//輸出陣列 boyb 中的資料
for(i=0; iname, pb->num, pb->age, pb->score);
}fclose(fp);
return 0;
}
執行結果:
input data:tom 2 15 90.5↙
hua 1 14 99↙
tom 2 15 90.500000
hua 1 14 99.000000
C語言以資料塊的形式讀寫檔案
fgets 有侷限性,每次最多只能從檔案中讀取一行內容,因為 fgets 遇到換行符就結束讀取。如果希望讀取多行內容,需要使用 fread 函式 相應地寫入函式為 fwrite。fread 函式用來從指定檔案中讀取塊資料。所謂塊資料,也就是若干個位元組的資料,可以是乙個字元,可以是乙個字串,可以是多...
使用C語言讀取bmp檔案資料
2014 9 24 02 23 讀取bmp資訊.cpp author 王炳華 執行此檔案,在同目錄下存放乙個名為dog.bmp的,格式必須為bmp include include define bmptype 19778 bool isbmp file f int multiply 2 int i ...
輸出 (C語言檔案資料程式設計概念)
輸出 是c語言檔案資料程式設計概念,在c語言檔案資料的輸入輸出中,當呼叫輸出函式把程式中變數的值輸出到外部檔案中時,這種操作稱為 輸出 或 寫 程式設計師們為了便於記憶和理解,通常將 輸出 和 寫 共讀為 寫出。這與別於 讀 即 輸入 讀入fscanf 檔案指標,格式控制字串,輸入項表 fread ...