关于C语言的以文件输入输出的方式
为什么要将数据以文件的形式来输入或者输出呢?有些是题目要求,而有些可以是方便我们操作(有时测试数据太多,不断地复制粘贴也麻烦)
这里简单介绍两种方法
一:重定向
#include<stdio.h>
int main()
{
freopen("in.txt","r",stdin);
freopen("out.txt","w",stdout);
int n;
scanf("%d",&n);
printf("%d",n);
return 0;
}
这就是重定向,利用freopen函数,输入文件即in.txt;输出文件为out.txt,就能实现数据以文件形式输入输出
二:fopen
但有时候有些情况会禁止我们使用重定向,这个时候就要用到第二种方法,用到另一个函数 fopen函数
#include<stdio.h>
int main()
{
FILE *fin,*fout;
fin=fopen("in.txt","rb");
fout=fopen("out.txt","wb");
int n;
fscanf(fin,"%d",&n);
fprintf(fout,"%d",n);
fclose(fin);
fclose(fout);
return 0;
}
这里首先声明变量fin,fout,利用fscanf读入文件中的数据(用到fin),再用fprintf将结果输出入文件(用到fout),最后再用fclose关闭两个文件。以此来实现数据以文件的输入和输出