1. 程式人生 > 其它 >檔案輸入輸出(C語言)

檔案輸入輸出(C語言)

技術標籤:語言c語言

文章目錄

一、重定向

程式碼如下(示例):

#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寫入檔案中)。