C++程序中解析命令行参数

可以在执行时将一些值从命令行传递到 C++ 程序。这些值称为命令行参数,很多时候它们对您的程序很重要,尤其是当您想从外部控制程序而不是在代码中硬编码这些值时。

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

示例代码

#include <iostream>
using namespace std;
int main( int argc, char *argv[] ) {
   if( argc == 2 ) {
      cout << "提供的参数是 "<< argv[1] << endl;
   } else if( argc > 2 ) {
      cout << "提供的参数太多。" <<endl;
   }else {
      cout << "一种说法是预料之中的。" << endl;
   }
}
输出结果
$./a.out testing
提供的参数是 testing
输出结果
$./a.out testing1 testing2
提供的参数太多。
输出结果
$./a.out
One argument expected