VSCode无法使用freopen文件输入输出
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了VSCode无法使用freopen文件输入输出相关的知识,希望对你有一定的参考价值。
VSCode编写C++程序时使用freopen文件输入输出无效,只能手动输入输出,求大神帮忙解决
freopen本来就只能同时打开一个文件,不过如果是分别进行读写操作的话,可以同时打开两个一个读一个写。但是不能对多个文件进行同时读写,建议还是不要用freopen这种函数,它在正规的工程中是不允许出现的,只是竞赛的时候为了加快得到结果的一个取巧的用法,在VS里面已经废止了,请养成良好的编程习惯追问复制别人的还是别来强答了吧?我就输入一个文件,能看了题再去找东西复制吗?
复制别人的还是别来强答了吧?我就输入一个文件,能看了题再去找东西复制吗?
参考技术A 改变你launch.json中的CWD目录到你输入输出的文件夹参考:c++ - VS Code on Windows debugger does not work with freopen - Stack Overflow
输入输出重定向
0. C语言的标准输入输出
stdin
stdout
stderr
1. 重定向到文件
1 #include <stdio.h> 2 3 int main(){ 4 char a[100]; 5 if(1==0){ 6 freopen("data.txt","w",stdout); 7 printf("hello word"); 8 }else{ 9 freopen("data.txt","r",stdin); 10 11 scanf("%s",a); 12 printf("%s\n",a); 13 } 14 15 return 0; 16 }
输出结果
data.txt ------------------- hello word ----------------------------- hello 请按任意键继续. . .
2. 方式二
重定向(windows):
若输入_Test.exe <data_in.txt >data_out.txt
则从data_in.txt把“hello”读到str中,在把str打印到data_out.txt中.
管道(linux, UNIX):
cmd下输入test_out.exe | test_in.exe
则将test_out中打印的内容(xxoo)作为test_in的输入,testin将xxoo打印到标准输入(显示器上).
以上是关于VSCode无法使用freopen文件输入输出的主要内容,如果未能解决你的问题,请参考以下文章