我开始在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确保在执行完成后命令提示符保持打开。

缺点是执行不会在断点处停止。

其他回答

只需在代码的末尾添加system("pause"),然后像这样返回0

#include <stdlib.h>

int main()
{
    //some code goes here
    system("pause")
    return 0;
}

下面是一种不修改任何代码而保持命令窗口打开的方法:

在Visual Studio中,打开项目属性页-> Debugging。

命令:输入$(ComSpec)

命令参数:输入/k $(TargetPath)。将任何参数附加到您自己的应用程序。

现在F5或Ctrl-F5在一个新窗口中执行Windows/System32/cmd.exe,并且/k确保在执行完成后命令提示符保持打开。

缺点是执行不会在断点处停止。

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

只需要在main的最后一个花括号上加一个断点。

    int main () {
       //...your code...
       return 0;
    } //<- breakpoint here

它适合我,不需要调试就可以运行。它还会在到达断点之前执行析构函数,这样您就可以检查在这些析构函数上打印的消息(如果有的话)。

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

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