C++输入输出重定向的心得体会

以下是我对于C/C++重定向学习的心得体会,若有不周,欢迎指教,感谢!
什么是输入输出重定向
stdin指输入数据存储的文件夹,原输入数据来源是键盘,现改变输入数据的来源为path,即重新确定输入数据来源的方向。
stdout指输出数据存储的文件夹,原输出数据到屏幕,现改变输出数据的方向为path,即重新确定输出数据的方向。
代码:
freopen(“path1”,“mode”,stdin);
freopen(“path2”,“mode”,stdout);
这么做的效果是,从path1文件读取并输入数据,并输出数据到path2文件中。
下面以VS2019举例,
代码:
#include
using namespace std;
int main()
{
int a, b;
freopen(“Debug\in.txt”, “r”, stdin);
freopen(“Debug\out.txt”, “w”, stdout);
cin >> a >> b;
printf("%d\n", a + b);
fclose(stdin);
fclose(stdout);
return 0;
}
这段代码的作用是:从Debug目录下的in.txt文本中读取数据a和b,并将a+b输出到Debug目录下的out.txt中。

C++输入输出重定向的心得体会
在Debug目录下新建in.txt和out.txt文档,并输入a和b的数据到in.txt,此时可以看到out.txt是没有数据的。
执行代码,C++输入输出重定向的心得体会
可以看到,此时控制台没有输出数据,打开out.txt,C++输入输出重定向的心得体会
out.txt中成功输出了数据3。

需要注意的:
是文件建立的路径要与代码中的路径一致:
Debug:\in.txt 这个路径是项目文件夹—源文件文件夹-----Debug------in.txt
而不是项目文件夹-----Debug-----in.txt 如果路径写in.txt,指的是源文件------in.txt

以上便是我对C++输入输出重定向的心得体会。