C語言格式化讀寫檔案

2021-08-02 09:43:11 字數 1589 閱讀 8987

fscanf() 和 fprintf() 函式與前面使用的 scanf() 和 printf() 功能相似,都是格式化讀寫函式,兩者的區別在於 fscanf() 和 fprintf() 的讀寫物件不是鍵盤和顯示器,而是磁碟檔案。

這兩個函式的原型為:

int fscanf ( file *fp, char * format, ... );

int fprintf ( file *fp, char * format, ... );

fp 為檔案指標,format 為格式控制字串,... 表示引數列表。與 scanf() 和 printf() 相比,它們僅僅多了乙個 fp 引數。例如:

file *fp;

int i, j;

char *str, ch;

fscanf(fp, "%d %s", &i, str);

fprintf(fp,"%d %c", j, ch);

fprintf() 返回成功寫入的字元的個數,失敗則返回負數。fscanf() 返回引數列表中被成功賦值的引數個數。

【示例】用 fscanf 和 fprintf 函式來完成對學生資訊的讀寫。

#include

#define n 2

struct stu boya[n], boyb[n], *pa, *pb;

int main()

//從鍵盤讀入資料,儲存到boya

printf("input data:\n");

for(i=0; iname, &pa->num, &pa->age, &pa->score);   

}pa = boya;

//將boya中的資料寫入到檔案

for(i=0; iname, pa->num, pa->age, pa->score);   

}//重置檔案指標

rewind(fp);

//從檔案中讀取資料,儲存到boyb

for(i=0; iname, &pb->num, &pb->age, &pb->score);

}pb=boyb;

//將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

開啟 d:\\demo.txt,發現檔案的內容是可以閱讀的,格式非常清晰。用 fprintf() 和 fscanf() 函式讀寫配置檔案、日誌檔案會非常方便,不但程式能夠識別,使用者也可以看懂,可以手動修改。

如果將 fp 設定為 stdin,那麼 fscanf() 函式將會從鍵盤讀取資料,與 scanf 的作用相同;設定為 stdout,那麼 fprintf() 函式將會向顯示器輸出內容,與 printf 的作用相同。例如:

#include

int main()

執行結果:

input two numbers: 10 20↙

sum=30

C語言格式化讀寫檔案

fscanf 和fprintf 函式與前面使用的 scanf 和printf 功能相似,都是格式化讀寫函式,兩者的區別在於 fscanf 和fprintf 的讀寫物件不是鍵盤和顯示器,而是磁碟檔案。這兩個函式的原型為 int fscanf file fp,char format,int fprint...

格式化讀寫檔案fprintf,fscanf

define crt secure no warnings include include include int fprintf file stream,const char format,功能 根據引數format字串來轉換並格式化資料,然後將結果輸出到stream指定的檔案中,指定出現字串結束...

python 讀寫檔案格式化輸出

python讀寫檔案 1.open file object open thefile.txt try all the text file object.read finally file object.close 2.讀檔案 讀文字檔案 input open data r 第二個引數預設為r inp...