資料塊讀寫函式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 開啟方式下文會講到 檔名中不允許直接使用路徑描述符 必須用轉義字元的形式 中第乙個 是轉義字元,...