我开始在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;
}
我漏了哪一行?
当前回答
下面是一种不修改任何代码而保持命令窗口打开的方法:
在Visual Studio中,打开项目属性页-> Debugging。
命令:输入$(ComSpec)
命令参数:输入/k $(TargetPath)。将任何参数附加到您自己的应用程序。
现在F5或Ctrl-F5在一个新窗口中执行Windows/System32/cmd.exe,并且/k确保在执行完成后命令提示符保持打开。
缺点是执行不会在断点处停止。
其他回答
只需要在main的最后一个花括号上加一个断点。
int main () {
//...your code...
return 0;
} //<- breakpoint here
它适合我,不需要调试就可以运行。它还会在到达断点之前执行析构函数,这样您就可以检查在这些析构函数上打印的消息(如果有的话)。
另一种选择是使用
#include <process.h>
system("pause");
虽然这不是很可移植,因为它只能在Windows上工作,但它会自动打印
按任意键继续…
你可以把 keep_window_open (); 在返回之前,这里有一个例子
int main()
{
cout<<"hello world!\n";
keep_window_open ();
return 0;
}
我的观点:
选择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>
标准的方法是在return语句之前使用cin.get()。
int _tmain(int argc, _TCHAR* argv[])
{
cout << "Hello World";
cin.get();
return 0;
}