Visual Studio 2010 conio.h
Visual Studio 2010 conio.h
我正试图在Visual Studio 2010中用C++构建第一个简单的程序:
#include <iostream>
using namespace std;
int main() {
cout << "Hello World!" << endl;
return 0;
}
但它并不能像编写的那样工作(当我运行它时,我看不到任何输出)。我能使它工作的唯一方法是添加#include <conio.h>
和getch()
。为什么在使用Visual Studio 2010编译时,程序在没有这两行代码的情况下不能工作,而在使用其他编译器编译时却不能工作?
如果从Visual Studio 2010中运行,您提供的程序运行良好。但是,如果您在Visual Studio之外运行它(例如从Windows资源管理器),您可能会认为它不起作用,因为它会打印"Hello World!",然后立即终止。为了让它保持足够长的打开时间,以便在以这种方式运行时看到输出,您可能需要做一些事情,比如等待用户输入,但程序本身是很好的,并且在使用任何其他编译器编译时都会做它应该做的事。顺便说一句,如果你用另一个编译器编译它,然后从Windows资源管理器运行它,你会看到同样的行为——问题与编译器无关,一切都与你运行程序的方式有关。如果您从命令提示符(cmd)运行该程序,您将看到输出,而不会出现窗口立即关闭的问题。
此代码可以在Visual Studio 2010中使用。您的问题在于其他方面:控制台窗口关闭得太快了,以至于您看不到输出。这也是为什么添加conio.h
和getch()
、cin
或system("pause")
将暂时解决您的问题的原因。
请尝试以下操作:打开一个命令行(cmd.exe),输入编译后的.exe文件的路径,然后按enter键-你应该会看到程序的输出。
try:
int main() {
cout << "Hello world!" << endl
int a;
cin >> a;
}
说明:我认为现在发生的事情是,你的视觉工作室显示的结果窗口会立即消失。若要阻止它这样做,您可以要求用户在程序结束前输入一些内容。
- 无法在 Visual Studio 2010 中构建 Allegro C++ 程序
- #include < conio.h> 和 getch() 方法之间的关系是什么?
- Visual Studio 2013,错误 MSB8020:找不到 Visual Studio 2010 的生成工具
- VisualC++ 2010 有没有办法找出有关未处理异常错误的更多详细信息
- 双线程应用比单线程应用慢 C++ (VC++ 2010 Express).如何解决?
- std::array initalization with Visual Studio 2010
- MSVC 2010 编译应用程序和 MSVC 2019 编译应用程序之间的行为差异
- 将代码从 32 位迁移到 64 位时出现问题 Visual Studio 2010
- 在 Visual Studio 2010(及更高版本)中定义包含或链接路径变量的位置
- Visual Studio 2010 单元测试:无法识别引用的项目类
- 如何在 Linux 中将 conio.h 添加到 nvcc 中
- Visual Studio 2010 - C++ 致命错误 LNK1120: 1 个未解析的外部
- VisualStudio 2015 链接器查找 VS 2010 库
- C /FORTRAN项目由Visual Studio 2010/Intel 2013创建,将不会在Visual St
- 如何使 Visual Studio 2010 警告未使用的变量
- 如何解决错误 C2719 在 Visual Studio 2010 C++ 中不存在代码行时
- 代码 c++ VS 2010 中的 LPCWSTR 到字符串转换问题
- 按值传递的参数在 Visual Studio 2010, C++ 的调试器中显示为通过引用传递
- Visual Studio 2010 是否执行零初始化
- Visual Studio 2010 conio.h