在C ++中解析命令行参数的有效方法是什么?
有没有一种真正有效的方法来处理C ++中的命令行参数?
我在下面做的事情完全是业余的,我无法想象这是如何在专业软件中处理命令行参数(atoi,硬编码的argc检查)。
// Command line usage: sum num1 num2 int main(int argc, char *argv[]) { if (argc < 3) { cout << "Usage: " << argv[0] << " num1 num2n"; exit(1); }
int a = atoi(argv[1]); int b = atoi(argv[2]); int sum = a + b;
cout << "Sum: " << sum << "n";
return 0; }
您可能想为此使用外部库。 有很多选择。
Boost有一个功能非常丰富(如往常一样)的库Boost Program Options。
过去几年我个人最喜欢的是TCLAP--纯粹是模板化的,因此没有图书馆或链接,自动化的“帮助”一代和其他好东西。 从文档中查看最简单的示例。
你可以使用一个已经创建的库来做到这一点
http://www.boost.org/doc/libs/1_44_0/doc/html/program_options.html
如果这是linux / unix,那么使用标准的是gnu getopt
http://www.gnu.org/s/libc/manual/html_node/Getopt.html
链接地址: http://www.djcxy.com/p/40581.html上一篇: What's an effective way to parse command line parameters in C++?
下一篇: Merge all changes from another branch as a single commit