目前,我正在尝试用Visual Studio代码编写C/C++程序。为此,我安装了两个扩展:C/C++和C++ Intellisense
根据文档,调试工具不适用于windows。我已经能够构建和运行代码与以下任务:
{
"version": "0.1.0",
"command": "cmd",
"isShellCommand": true,
"args": [
"/C"
],
"tasks": [
{
"taskName": "Makefile",
"suppressTaskName": true,
// Make this the default build command.
"isBuildCommand": true,
// Show the output window only if unrecognized errors occur.
"showOutput": "always",
// No args
"args": [
"C:/Programs/cygwin/bin/make.exe",
"all"
],
// Use the standard less compilation problem matcher.
"problemMatcher": {
"owner": "cpp",
"fileLocation": [
"relative",
"${workspaceRoot}"
],
"pattern": {
"regexp": "^(.*):(\\d+):(\\d+):\\s+(warning|error):\\s+(.*)$",
"file": 1,
"line": 2,
"column": 3,
"severity": 4,
"message": 5
}
}
},
{
"taskName": "Run",
"suppressTaskName": true,
"isTestCommand": true,
"args": [
"helloworld"
]
}
]
}
和一个简单的Makefile
:
all: clean helloworld
helloworld: helloworld.cpp
C:/Programs/cygwin/bin/g++ helloworld.cpp -o helloworld
clean:
C:/Programs/cygwin/bin/rm -rf helloworld
但是,当程序在运行时需要一些用户输入时,问题就出现了。假设针对这个非常熟悉的helloworld
程序。
# include <iostream>
using namespace std;
int main ()
{
int name;
cin >> name;
cout << "Hello, " << name << "!!!" << endl;
return 0;
}
你能帮我在运行时得到用户输入吗?有一种变通方法可以将输入作为命令行参数传递。但是,这对于具有复杂流程的程序是不可能的。
6条答案
按热度按时间lmvvr0a81#
转到
Code -> Preferences -> Settings
并添加自定义设置:最后运行你的c++代码,你将能够在控制台输入值
axzmvihb2#
进入设置(ctrl+,)-〉搜索设置-〉:编码员:在终端运行-选中此选项,您将能够直接在接受输入的终端中运行代码。:)
ssgvzors3#
确保您的VS代码上安装了代码运行器。
从顶部选择:文件〉首选项〉设置
在设置中搜索代码运行程序并选中复选框:
默认情况下它保持未选中状态。您必须启用它才能在终端中运行您的首选语言。
cnjp1d6j4#
转到“设置”,然后搜索“代码运行者:运行终端”并检查它。这就是我如何修复它。
tuwxkamq5#
作为一种附加的便利,您还可以将注解输入到集成终端中。
示例:
扩展链接--
备注输入:https://marketplace.visualstudio.com/items?itemName=virresh.cinp
注意:这个扩展依赖于code-runner,code-runner是另一个可以运行几乎所有语言的脚本的扩展(您也可以指定自定义构建选项)
免责声明:我是此扩展的作者
fd3cxomn6#
如果你遇到和我一样的问题,集成终端无法读取用户的输入,如下挂起(env. windows 10)x1c 0d1x
我的解决方案是将cygwin的gdb和g ++替换为mingw 64的。
则输入/输出正常