我开始在Visual c++和我想知道如何保持控制台窗口。

例如,这将是一个典型的“hello world”应用程序:

int _tmain(int argc, _TCHAR* argv[])
{
    cout << "Hello World";
    return 0;
}

我漏了哪一行?


当前回答

只需在_tmain方法的右括号中添加一个断点。这是一种更简单的方法,而且你不需要为了调试而添加代码。

其他回答

sin .get()或system("PAUSE")。 我没听说过你可以用return(0);

我也有同样的问题;在我的应用程序中有多个exit()点,没有办法知道它到底在哪里退出,然后我发现了这一点:

atexit(system("pause"));

or

atexit(cin.get());

这样,无论我们退出程序的哪个位置,它都会停止。

你可以把 keep_window_open (); 在返回之前,这里有一个例子

int main()
{
    cout<<"hello world!\n";
    keep_window_open ();
    return 0;
}

另一种选择是使用

#include <process.h>
system("pause");

虽然这不是很可移植,因为它只能在Windows上工作,但它会自动打印

按任意键继续…

用Ctrl+F5启动项目,而不是只用F5。

控制台窗口现在将保持打开,按任意键继续…程序退出后的消息。

注意,这需要Console(/子系统:Console)链接器选项,您可以如下方式启用该选项:

Open up your project, and go to the Solution Explorer. If you're following along with me in K&R, your "Solution" will be 'hello' with 1 project under it, also 'hello' in bold. Right click on the 'hello" (or whatever your project name is.) Choose "Properties" from the context menu. Choose Configuration Properties>Linker>System. For the "Subsystem" property in the right-hand pane, click the drop-down box in the right hand column. Choose "Console (/SUBSYSTEM:CONSOLE)" Click Apply, wait for it to finish doing whatever it does, then click OK. (If "Apply" is grayed out, choose some other subsystem option, click Apply, then go back and apply the console option. My experience is that OK by itself won't work.)

CTRL-F5和子系统提示一起工作;它们不是独立的选项。

(来自http://social.msdn.microsoft.com/Forums/en-US/vcprerelease/thread/21073093-516c-49d2-81c7-d960f6dc2ac6的DJMorreTX提供)