C++ freopen使用问题
用freopen分别从a.txt和b.txt中读入数据,读完a.txt的再读b.txt的,并且也使用了fclose(stdin),但程序只读到了a.txt而没有读到b.t...
用freopen分别从a.txt和b.txt中读入数据,读完a.txt的再读b.txt的,并且也使用了fclose(stdin),但程序只读到了a.txt而没有读到b.txt,为什么
展开
1个回答
展开全部
我表示没遇到你的问题,我上传的文件里有代码和a.txt b.txt你运行1.exe会发现一起好好的,我这里贴出代码:
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
char ch;
freopen("a.txt","rt",stdin);
printf("in a.txt:");
while(!feof(stdin))
{
ch = fgetc(stdin);
putchar(ch);
}
printf("\n\n\nin b.txt:");
freopen("b.txt","rt",stdin);
while(!feof(stdin))
{
ch = fgetc(stdin);
putchar(ch);
}
putchar('\n');
freopen("CON","r",stdin);
system("pause");
return 0;
}
我要说明是最后一句,将sdin重定向回去控制台的标准输入,不然的话system("pause")无法做到暂停的效果。
运行效果:
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询