日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

c语言格式化写入文件大小,利用C语言格式化读写文件

發布時間:2023/11/27 生活经验 43 豆豆
生活随笔 收集整理的這篇文章主要介紹了 c语言格式化写入文件大小,利用C语言格式化读写文件 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

“在C語言中進行格式化讀寫文件”按照字面意思通常大家都會理解為將讀寫文件進行格式化的操作,那么到底我們是不是真的將讀寫文件進行格式化的操作呢?下面課課家筆者就為大家簡單介紹C語言中格式化讀寫文件的概念和具體的操作編寫方法。

首先筆者先給大家介紹fscanf()和fprintf()函數的概念。fscanf()和fprintf()函數與前面使用的scanf()和printf()功能相似,它們都是格式化讀寫函數,具體的區別在于fscanf()和fprintf()的讀寫對象不是鍵盤和顯示器而是磁盤文件。

fscanf()和fprintf()函數的原型為:

intfscanf(FILE*fp,char*format,...);

intfprintf(FILE*fp,char*format,...);

在這里fp為文件指針,format為格式控制字符串,...表示參數列表。與scanf()和printf()相比,它們僅僅多了一個fp參數。具體比如:

FILE*fp;

inti,j;

char*str,ch;

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

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

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

下面筆者用fscanf和fprintf函數來完成對學生信息的讀寫,具體代碼如下:

#include

#defineN2

structstu{

charname[10];

intnum;

intage;

floatscore;

}boya[N],boyb[N],*pa,*pb;

intmain(){

FILE*fp;

inti;

pa=boya;

pb=boyb;

if((fp=fopen("D:\\\\demo.txt","wt+"))==NULL){

printf("Cannotopenfile,pressanykeyexit!");

getch();

exit(1);

}

//從鍵盤讀入數據,保存到boya

printf("Inputdata:\\n");

for(i=0;i

scanf("%s%d%d%f",pa->name,&pa->num,&pa->age,&pa->score);

}

pa=boya;

//將boya中的數據寫入到文件

for(i=0;i

fprintf(fp,"%s%d%d%f\\n",pa->name,pa->num,pa->age,pa->score);

}

//重置文件指針

rewind(fp);

//從文件中讀取數據,保存到boyb

for(i=0;i

fscanf(fp,"%s%d%d%f\\n",pb->name,&pb->num,&pb->age,&pb->score);

}

pb=boyb;

//將boyb中的數據輸出到顯示器

for(i=0;i

printf("%s%d%d%f\\n",pb->name,pb->num,pb->age,pb->score);

}

fclose(fp);

return0;

}

輸出結果:

Inputdata:

Tom21590.5↙

Hua11499↙

Tom21590.500000

Hua11499.000000

此時我們打開D:\\\\demo.txt,可以發現文件的內容是可以閱讀且格式比較清晰。我們通過用fprintf()和fscanf()函數,在讀寫配置文件、日志文件時會比較方便,不但程序能夠識別,而且用戶也可以看懂并手動修改。另外如果我們將fp設置為stdin,那么fscanf()函數將會從鍵盤讀取數據,與scanf的作用相同;設置為stdout,那么fprintf()函數將會向顯示器輸出內容,與printf的作用相同。具體比如:

#include

intmain(){

inta,b,sum;

fprintf(stdout,"Inputtwonumbers:");

fscanf(stdin,"%d%d",&a,&b);

sum=a+b;

fprintf(stdout,"sum=%d\\n",sum);

return0;

}

輸出結果:

Inputtwonumbers:1020↙

sum=30

本次利用C語言格式化讀寫文件的講解到此暫告一段落,如果以后有什么內容繼續進行補充或者修改的話,筆者會在此進行相關的內容補充或者修改的工作,同時也歡迎大家對本次的講解提出自己的建議和補充,最后希望本次的教程對大家學習C語言能夠起到一定的幫助作用!

總結

以上是生活随笔為你收集整理的c语言格式化写入文件大小,利用C语言格式化读写文件的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。