c++ - 在 Visual Studio 中创建第一个 C++ 项目
问题描述
我的 IDE 是 Visual Studio 2017。我是 C++ 编程的新手,所以我需要帮助了解在 Visual Studio 中创建新 C++ 项目的原理。所以,在我的第一次单独尝试中,我只选择了一个空的项目选项,然后我选择添加新项目,然后我编写了这个示例代码:
#include <iostream>
using namespace std;
int main()
{
return 0;
}
在这一步和编译、构建和启动而不调试的步骤之后,我没有收到任何消息或控制台窗口,其中包含代码执行时间或用于输入任何结束键的选项。在代码末尾获取此类信息需要什么?
解决方案
你不应该使用system("pause");
你可以在这里阅读为什么。它依赖于平台,并增加了加载所有 Windows 特定指令的巨大开销。
所以你应该选择更好的选择:std::cin.get()
例如。大部分时间都可以使用。std::getline
好吧,除非在 (或)之前有输入std::cin
。如果您正在使用用户输入创建程序 - 使用std::cin.ignore()
两次以保证“按 Enter 继续”效果:
#include <iostream>
int main() {
int a;
std::cin >> a;
std::cin >> a;
std::cin >> a; //etc
std::cout << "press enter to exit - - - ";
std::cin.ignore(10000, '\n');
std::cin.ignore(10000, '\n');
return 0;
}
也请不要使用命名空间标准;在这里阅读为什么。
如果你不喜欢这个 3-liner(因为它看起来很丑),你可以将它打包在一个 void 函数中,并将整个东西当作一个黑盒子:
void pause() {
std::cout << "press enter to exit - - - ";
std::cin.ignore(10000, '\n');
std::cin.ignore(10000, '\n');
}
int main(){
pause();
return 0;
}
推荐阅读
- regex - 来自字符串电话号码的正则表达式 4 位数字
- html - 为什么 ID 正确时找不到我的 HTML 值?
- excel - 对活动图表和系列集合的困惑
- google-sheets - 使用多个 SUBSTITUTE 简化公式以获得相同的最终值
- arrays - 使用以数组为值的过滤器查询json
- go - ffmpeg:读取标头管道时出错:0:参数无效
- neo4j - 尝试从 Neo4j Cypher 查询中获取与唯一端点的关系
- java - HashMap以小数形式打印字母频率?
- javascript - 如何通过fabricjs在矩形形状上显示尺寸?
- sas - 这段代码不起作用有什么特别的原因吗?