命令行参数c ++

时间:2015-02-01 00:44:24

标签: c++

我有一个程序需要命令行参数才能正常运行,但即使没有提供参数也会运行。如何在运行之前确保提供参数?

int main(int argc, const char ** argv) {
    std::ifstream b(argv[1]);
    Word c;

    c.fillWords(c.getWordsAdress(), &b);
    c.printWord(c.getWordsAdress());
}

2 个答案:

答案 0 :(得分:1)

检查参数计数如下:

int main( int argc, const char* argv[] )
{
    if (argc < 2)
        return 1;

    // your code here
}

答案 1 :(得分:0)

您可以检查参数计数,如果它小于2,则表示没有提供参数。参数count将始终至少为1,其中包含程序的名称。

int main(int argc, char** argv)
{   
    if(argc < 2) {
        cerr << "usage: " << argv[0] << " -argument";
        return EXIT_FAILURE;
    }

    return EXIT_SUCCESS;
}