我开始在Visual c++和我想知道如何保持控制台窗口。
例如,这将是一个典型的“hello world”应用程序:
int _tmain(int argc, _TCHAR* argv[])
{
cout << "Hello World";
return 0;
}
我漏了哪一行?
我开始在Visual c++和我想知道如何保持控制台窗口。
例如,这将是一个典型的“hello world”应用程序:
int _tmain(int argc, _TCHAR* argv[])
{
cout << "Hello World";
return 0;
}
我漏了哪一行?
当前回答
只需在_tmain方法的右括号中添加一个断点。这是一种更简单的方法,而且你不需要为了调试而添加代码。
其他回答
我的观点:
选择1:在main()的末尾添加断点
选择2:在返回0之前添加这段代码:
std::cout << "Press ENTER to continue..."; //So the User knows what to do
std::cin.ignore(std::numeric_limits<std::streamsize>::max(), '\n');
对于std::numeric_limits,您需要包含<iomanip>
用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提供)
你可以把 keep_window_open (); 在返回之前,这里有一个例子
int main()
{
cout<<"hello world!\n";
keep_window_open ();
return 0;
}
下面是一种不修改任何代码而保持命令窗口打开的方法:
在Visual Studio中,打开项目属性页-> Debugging。
命令:输入$(ComSpec)
命令参数:输入/k $(TargetPath)。将任何参数附加到您自己的应用程序。
现在F5或Ctrl-F5在一个新窗口中执行Windows/System32/cmd.exe,并且/k确保在执行完成后命令提示符保持打开。
缺点是执行不会在断点处停止。
int main()
{
//...
getchar();
return 0;
}