Visual Studio 2010 conio.h

我试图在C ++中用Visual Studio 2010构建第一个简单的程序:

#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键 - 然后您应该看到程序的输出。


尝试:

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

}

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

链接地址: http://www.djcxy.com/p/95569.html

上一篇: Visual Studio 2010 conio.h

下一篇: operator>> works in Visual C++ 2010 but not G++ on Linux