C语言中使用freopen函数解决测试数据输入问题,避免重复输入,不失为一种简单而有效的手段
下面举个简单的例子,学会后就可以使用了
freopen函数用法形式一:freopen(“文件名.txt”,“r”,stdin)
注:此情况下,文件需要放在所写程序所在的目录下
代码如下:
#include<stdio.h>
int main()
{
int a[5];
int i;
freopen("in.txt","r",stdin);
for(i=0;i<5;i++)
{
scanf("%d",&a[i]);
}
for(i=0;i<5;i++)
{
printf("%d ",a[i]);
}
return 0;
}
先将输入的数据写入记事本里:
再把"in.txt"文件放到所写程序目录:
然后就可以正常输出了:
freopen函数用法形式二:freopen(“文件的绝对路径\in.txt”,“r”,stdin)
先将输入的数据写入记事本里:
再在程序中写入文件的路径(文件地址以自己的txt文件地址为准,以下举我的例子)
代码如下:
#include<stdio.h>
int main()
{
int a[5];
int i;
freopen("D:\\C\\in.txt","r",stdin);
for(i=0;i<5;i++)
{
scanf("%d",&a[i]);
}
for(i=0;i<5;i++)
{
printf("%d ",a[i]);
}
return 0;
}
文件所在地址:
然后: