Visual Studio 2010 conio.h

Visual Studio 2010 conio.h

本文关键字:conio 2010 Studio Visual      更新时间:2023-10-16

我正试图在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.hgetch()cinsystem("pause")将暂时解决您的问题的原因。

请尝试以下操作:打开一个命令行(cmd.exe),输入编译后的.exe文件的路径,然后按enter键-你应该会看到程序的输出。

try:

int main() {
  cout << "Hello world!" << endl
  int a;
  cin >> a;

}

说明:我认为现在发生的事情是,你的视觉工作室显示的结果窗口会立即消失。若要阻止它这样做,您可以要求用户在程序结束前输入一些内容。