为什么我的控制台不等待VS2010和Windows7中的输入?

时间:2012-07-05 15:57:38

标签: c++ c visual-studio-2010 windows-7 opencv

主要功能如下:

void main( int argc, char** argv ){
    // validate that an input was specified
    if( argc != 2 )
    {
        printUsage();
        return;
    }

    if( !strcmp(argv[1], "train") ) learn();
    else if( !strcmp(argv[1], "test") ) recognize();
    else
    {
        printf("Unknown command: %s\n", argv[1]);
        printUsage();
    }
}

当我执行程序时,控制台一出现就会消失。

非常感谢您的耐心和帮助! :)

4 个答案:

答案 0 :(得分:5)

  

为什么我的控制台不能在VS2010和Windows7中等待输入?

因为你没有指示它等待输入。

尝试system("pause");getchar()或类似的事情。

答案 1 :(得分:2)

此程序不使用用户输入,而是使用程序参数。

此程序需要1个输入参数,您可以通过以下方式设置:

  1. 打开cmd,将目录(cd)更改为exe文件所在的位置,然后使用参数运行程序。例如main.exe train
  2. 在vs2010上,转到项目属性,在“Configuration Properties”下找到Debugging并将“Command Arguments”设置为你想要的参数。

答案 2 :(得分:0)

您可以点击“Ctrl + F5”,默认情况下会等待您按Enter键以关闭控制台,而不是添加“暂停”,getchar()或类似代码。请参阅此SO帖子:Preventing console window from closing on Visual Studio C/C++ Console application

答案 3 :(得分:0)

通过调试(按F5)控制台应用程序,VS将在您的应用程序完成后自动调用“暂停”。您可以运行(按CTRL + F5)应用程序,VS会为您调用“暂停”。