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

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

int _tmain(int argc, _TCHAR* argv[])
{
    cout << "Hello World";
    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>

其他回答

就在你的include之后 YW std:: cin.clear ();//重置任何错误标志 std:: cin.ignore (std:: numeric_limitsstd:: streamsize:: max (), ' \ n ');//忽略输入缓冲区中的任何字符,直到找到一个输入字符 std:: cin.get ();//从用户那里再获取一个字符

标准的方法是在return语句之前使用cin.get()。

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

(有些选项可能被称为不同的名称。我不使用英文版)

我有同样的问题,当我创建项目的选项“空项目”,创建项目为“win32控制台应用程序”而不是“空项目”。在现在弹出的对话框中,你按“继续”,之后你可以勾选“空项目”选项并按确认。然后按CTRL + F5将打开一个控制台,但不会自动关闭。

在返回行上放置断点。

你在调试器中运行它,对吧?

我的观点:

选择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>