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.h
和getch()
, cin
或system("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