scanf从文件中读入,printf写入到文件

重定向方式读写文件

#include <stdio.h>
#define LOCAL
int main()
{
    #ifdef LOCAL
    freopen("input.txt","r",stdin);
    //使得scanf从文件input.txt读入
    //r只读,如果文件不存在,出错
    freopen("output.txt","w",stdout);
    //使得printf写入文件output.txt
    //w只写,如果文件不存在,建立新文件
    #endif
    //只有定义了符号LOCAL,才编译2条freopen语句。
    int j;
    scanf("%d",&j);
    for(int i=0;i<5;i++)
        printf("%d
",i);
    printf("%d
",j);
    return 0;
}

非重定向方式读写文件

int main()
{
    FILE *fin,*fout;
    fin=fopen("data.in.txt","r");
    fout=fopen("data.out.txt","w");
    int j;
    fscanf(fin,"%d",&j);
    for(int i=0;i<5;i++)
        fprintf(fout,"%d
",i);
    fprintf(fout,"%d
",j);
    fclose(fin);
    fclose(fout);
    return 0;
}
原文地址:https://www.cnblogs.com/webmen/p/5739674.html