在商店中搜索code runner,点击install按钮,安装后,右键找到配置拓展信息,首先用以下代码替换settings.json里面"code-runner.executorMap"的原代码(原来没有的话直接粘贴进去):
"code-runner.executorMap": {
"cpp": "cd $dir && g++ -std=c++11 $fileName -D LOCAL -o C:/Cpp/exe/$fileNameWithoutExt.exe && C:/Cpp/exe/$fileNameWithoutExt.exe"
},
解释一下,1.此设置用来设置编译指令以及生成的可执行文件的位置,在这里我设置的exe文件生成位置为C:/Cpp/exe文件夹,也可以改成其他文件夹。2.编译命令中的LOCAL是用来识别本地编译,为下面的重定向做准备,使代码在提交到OJ平台上编译时,不会执行重定向。
输入输出重定向
在程序main函数开头加入以下代码:
#ifdef LOCAL
freopen("1.in", "r", stdin);
freopen("1.out", "w", stdout);
#endif
在工作区的内层文件夹的建立一个1.in文件,用来写输入的测试数据,编译运行后会生成1.out,输出的数据就在里面。
注意:
- 如果文件所处最小文件夹发生改变需要重新建1.in,或者把1.in路径改为绝对路径(如C:/Cpp/1. in),之后每次输出会把1.out之前的内容覆盖。
- 如果不想覆盖,只需要把参数w(write)改为a(add):
freopen("1.out", "a", stdout);
至此,实现了本地输入输出重定向,可以直接将代码提交到OJ平台而无需注释任何代码。
以下为我的vscode,配置好刷题不要太方便!~