如何在C ++中解析命令行参数?

在执行时,可以将某些值从命令行传递给C ++程序。这些值称为命令行参数,在许多情况下它们对于您的程序很重要,尤其是当您要从外部控制程序而不是在代码内部硬编码这些值时。

命令行参数使用main()函数参数进行处理,其中argc表示传递的参数数量,而argv []是指向传递给程序的每个参数的指针数组。以下是一个简单的示例,该示例检查命令行是否提供了任何参数并采取相应的措施-

范例程式码

#include <iostream>
using namespace std;
int main( int argc, char *argv[] ) {
   if( argc == 2 ) {
      cout << "The argument supplied is "<< argv[1] << endl;
   } else if( argc > 2 ) {
      cout << "Too many arguments supplied." <<endl;
   } else {
      cout << "One argument expected." << endl;
   }
}

输出结果

$./a.out testing
The argument supplied is testing

输出结果

$./a.out testing1 testing2
Too many arguments supplied.

输出结果

$./a.out
One argument expected