c語言程式設計基礎之檔案操作(二)

2021-08-30 10:31:35 字數 2631 閱讀 2662

資料塊讀寫函式fread和fwtrite

c語言還提供了用於整塊資料的讀寫函式。可用來讀寫一組資料,如乙個陣列元素,乙個結構變數的值等。

讀資料塊函式呼叫的一般形式為:

fread(buffer,size,count,fp);

寫資料塊函式呼叫的一般形式為:

fwrite(buffer,size,count,fp);

其中:buffer是乙個指標,在fread函式中,它表示存放輸入資料的首位址。在fwrite函式中,它表示存放輸出資料的首位址。

size 表示資料塊的位元組數。

count 表示要讀寫的資料塊塊數。

fp 表示檔案指標。

例如:fread(fa,4,5,fp);

其意義是從fp所指的檔案中,每次讀4個位元組(乙個實數)送入實陣列fa中,連續讀5次,即讀5個實數到fa中。

/*從鍵盤輸入兩個學生資料,寫入乙個檔案中,再讀出這兩個學生的資料顯示在螢幕上.*/

#include

struct stu

boya[2],boyb[2],*pp,*qq;

main()

printf("input data:");

for(i=0;i<2;i++,pp++)

scanf("%s%d%d%s",pp->name,&pp->num,&pp->age,pp->addr);

pp=boya;

fwrite(pp,sizeof(struct stu),2,fp);

rewind(fp);

fread(qq,sizeof(struct stu),2,fp);

printf("\n\nname\tnumber age addr\n");

for(i=0;i<2;i++,qq++)

printf("%s\t%d %d %s\n",qq->name,qq->num,qq->age,qq->addr);

fclose(fp);

}

#include

struct stu

boya[2],boyb[2],*pp,*qq;

main()

printf("input data:");

for(i=0;i<2;i++,pp++)

scanf("%s%d%d%s",pp->name,&pp->num,&pp->age,pp->addr);

pp=boya; //重新賦首位址

for(i=0;i<2;i++,pp++)

fprintf(fp,"%s %d %d %s\n",pp->name,pp->num,pp->age,pp->addr);

rewind(fp); //起作用了

for(i=0;i<2;i++,qq++)

fscanf(fp,"%s %d %d %s\n",qq->name,&qq->num,&qq->age,qq->addr);

printf("\n\nname\tnumber age addr\n");

qq=boyb; //重新賦首位址

for(i=0;i<2;i++,qq++)

printf("%s\t%d %d %s\n",qq->name,qq->num,qq->age,qq->addr);

fclose(fp);

}

/*在學生檔案stu_list中讀出第二個學生的資料。*/

#include

struct stu

boy,*qq;

main()

rewind(fp); //起作用了

fseek(fp,i*sizeof(struct stu),0);

fread(qq,sizeof(struct stu),1,fp);

printf("\n\nname\tnumber\tage\taddr\n");

printf("%s\t%5d\t%7d\t%s\n",qq->name,&qq->num,&qq->age,qq->addr);

}

#include

int main(void)

#include

main()

fprintf(fp,"abcdefg");

rewind(fp); //起作用了

fscanf(fp,"%c",&ch);

printf("ch:%c \n",ch);

fclose(fp);

}

1.c系統把檔案當作乙個「流」,按位元組進行處理。

2.c檔案按編碼方式分為二進位制檔案和ascii檔案。

3.c語言中,用檔案指標標識檔案,當乙個檔案被 開啟時,可取得該檔案指標。

4.檔案在讀寫之前必須開啟,讀寫結束必須關閉。

5.檔案可按唯讀、只寫、讀寫、追加四種操作方式開啟,同時還必須指定檔案的型別是二進位制檔案還是文字檔案。

6.檔案可按位元組,字串,資料塊為單位讀寫,檔案也可按指定的格式進行讀寫。

7.檔案內部的位置指標可指示當前的讀寫位置,移動該指標可以對檔案實現隨機讀寫。

c語言程式設計基礎之檔案操作

檔案使用方式 意義 rt 唯讀開啟乙個文字檔案,只允許讀資料 wt 只寫開啟或建立乙個文字檔案,只允許寫資料 at 追加開啟乙個文字檔案,並在檔案末尾寫資料 rb 唯讀開啟乙個二進位制檔案,只允許讀資料 wb 只寫開啟或建立乙個二進位制檔案,只允許寫資料 ab 追加開啟乙個二進位制檔案,並在檔案末尾...

C語言基礎之檔案

意義 解決多檔案編譯模組化的問題 格式 main 目標 main.0 依賴 乙個tab gcc main.o o main 命令 makefile檔名必須為makefile或者makefile,其餘檔名要使用make f 檔名命令告訴系統去哪找makefile檔案 gcc命令 gcc c 編譯到目標...

c基礎 之 檔案及其操作

首先要定義乙個檔案指標型別,格式為 file 檔案指標名 file fp fp就是定義的檔案指標 開啟檔案fopen 函式,格式 fp fopen 檔名 開啟方式 fp fopen c myfile r 開啟方式下文會講到 檔名中不允許直接使用路徑描述符 必須用轉義字元的形式 中第乙個 是轉義字元,...