c語言以資料塊的形式對檔案資料進行操作

2021-08-09 15:22:16 字數 2427 閱讀 1991

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 5

int 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 2

struct 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 ...