目前,我正在尝试在 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;
}
你能帮我在运行时获取用户输入吗?有一种解决方法可以将输入作为命令行参数传递。但是,对于具有复杂流程的程序来说,这是不可能的。
原文由 Arnab Das 发布,翻译遵循 CC BY-SA 4.0 许可协议
转到“设置”,然后搜索“代码运行器:在终端中运行”并检查它。这就是我修复它的方式。