我有一个程序需要命令行参数才能正常运行,但即使没有提供参数也会运行。如何在运行之前确保提供参数?
int main(int argc, const char ** argv) {
std::ifstream b(argv[1]);
Word c;
c.fillWords(c.getWordsAdress(), &b);
c.printWord(c.getWordsAdress());
}
答案 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;
}