VSCode安装Code Runner编译C/C++重定向+指定exe生成位置

商店
在商店中搜索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,配置好刷题不要太方便!~
Vscode

  • 3
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
### 回答1: 您好,如果您在使用 VSCode Code Runner 运行 C/C++ 代码时出现乱码,可能是因为您的代码文件编码格式与您的系统默认编码格式不一致所致。您可以尝试将代码文件的编码格式改为 UTF-8,并在 VSCode 设置默认编码格式为 UTF-8,然后重新运行代码。如果问题仍然存在,请提供更多详细信息以便我们更好地帮助您解决问题。 ### 回答2: VS CodeCode Runner插件是一款强大的运行代码的工具,在开发C/C++程序时十分实用。然而,有时候在使用Code Runner时会遇到文乱码的问题。 出现乱码的主要原因是Code Runner使用默认的命令行运行程序,而默认编码是GBK,而我们写的程序可能包含UTF-8编码的文字符,这就导致了输出乱码的情况。为解决这个问题,需要进行以下设置: 1. 修改Code Runner的配置文件,找到"code-runner.executorMap"选项,将其的"code-runner.executorMap": {"c": "gcc $fullFileName -o $fileNameWithoutExt && $dir$fileNameWithoutExt", "cpp": "g++ $fullFileName -o $fileNameWithoutExt && $dir$fileNameWithoutExt", "java": "cd $dir && javac $fileName && java $fileNameWithoutExt"}, 2.在这个选项加入编码设置,例如: "code-runner.executorMap": { "c": "gcc $fullFileName -o $fileNameWithoutExt && chcp 65001 && $dir$fileNameWithoutExt", "cpp": "g++ $fullFileName -o $fileNameWithoutExt && chcp 65001 && $dir$fileNameWithoutExt", "java": "cd $dir && javac $fileName && java $fileNameWithoutExt" }, 3.修改完成后,Ctrl + Alt + N 即可运行程序。 通过以上设置,我们可以在Code Runner成功地运行包含文字符的C/C++源程序,并且不会出现乱码的问题。 ### 回答3: 在使用VSCodeCode Runner插件时,有时可能会遇到C/C++代码乱码的问题,这种问题一般是由于编码不一致或者编译器配置不当所引起的。下面将分别从这两方面进行介绍并解决。 1. 编码不一致 在VSCode打开代码文件时,默认的编码格式是UTF-8,如果C/C++源文件的编码格式不是UTF-8,将会导致乱码显示。在这种情况下,需要将C/C++源文件的编码格式转换为UTF-8,具体步骤如下: (1)打开C/C++源文件。 (2)点击编辑器右下角的编码格式选项,选择“Reopen with Encoding”,再选择UTF-8编码。 (3)保存文件(Ctrl+S),然后重新编译运行代码即可。 2. 编译器配置不当 有时,我们在使用Code Runner插件编译运行代码时,会发现输出结果是乱码。这种情况一般是由于编译器使用了错误的字符集而导致的。在这种情况下,需要将编译器配置为正确的字符集,具体步骤如下: (1)打开Code Runner插件的设置界面(Ctrl+Shift+P,输入“Code Runner: Open User Settings”并回车)。 (2)在设置界面搜索“code-runner.executorMap”,找到C/C++代码对应的命令,并在该命令后面添加以下配置: "-finput-charset=utf-8", "-fexec-charset=utf-8" (3)保存设置并重新编译运行代码,此时输出应该已经正确显示。 总结:以上就是解决VSCodeCode Runner插件C/C++ 代码乱码的两种方法,需要注意的是,如果仅仅是将编码格式转换为UTF-8并不能解决所有的乱码问题,有些情况下仍需要配置编译器的字符集。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值