檔案輸入輸出(C語言)
阿新 • • 發佈:2021-01-25
文章目錄
一、重定向
程式碼如下(示例):
#include<stdio.h>
int main()
{
//重定向內容
freopen("test.in","r",stdin);
freopen("test.out","w",stdout);
int x,s=0;
while(scanf("%d",&x)){//遇到非數值停止
s+=x;
printf ("%d ",x);
}
printf("\n%d\n",s);
return 0;
}
輸入:test.in
結果:test.out
二、fopen
程式碼如下(示例):
#include<stdio.h>
int main()
{
FILE *fin,*fout; //檔案指標
fin=fopen("test.in","rb"); //只讀方式開啟檔案
fout=fopen("test.out","wb"); //只寫方式開啟檔案
int x,s=0;
while(fscanf(fin,"%d",&x)){
s+=x;
fprintf(fout,"%d ",x);
}
fprintf(fout,"\n%d\n",s);
fclose(fin);
fclose(fout);
return 0;
}
//結果同(一)
總結
重定向和fopen兩種方法均是利用了檔案讀寫,將輸入資料儲存到檔案中,輸出資料也儲存到檔案中,便利了做題時的測試。兩者相較而言,fopen方法稍顯繁瑣,但靈活性較大,可以反覆開啟、讀寫檔案(如示例中的在while迴圈中將x寫入檔案中)。