连接命令行参数的最佳方法
Best way to concatenate command line args
我 optind
指向我的第一个非开关参数。总共可以有任意数量的参数。我需要将剩余的参数连接成 char*
。我有一个从 arg[optind]
到 arg[argc-1]
的循环,并获取每个循环的 (length + 1) (一个用于 args 之间的空格,一个用于最后的 '[=14=]'
:totalLen += strlen(arg[i]) + 1
。一旦我有了长度,通过另一个循环连接参数的最佳途径是什么?
您可以使用 std::string
and it's operator +=()
循环遍历 argv[]
并将参数添加到字符串中。
std::string non_switch;
for (int i = optind; i < argc; i++)
non_switch += argv[i];
我 optind
指向我的第一个非开关参数。总共可以有任意数量的参数。我需要将剩余的参数连接成 char*
。我有一个从 arg[optind]
到 arg[argc-1]
的循环,并获取每个循环的 (length + 1) (一个用于 args 之间的空格,一个用于最后的 '[=14=]'
:totalLen += strlen(arg[i]) + 1
。一旦我有了长度,通过另一个循环连接参数的最佳途径是什么?
您可以使用 std::string
and it's operator +=()
循环遍历 argv[]
并将参数添加到字符串中。
std::string non_switch;
for (int i = optind; i < argc; i++)
non_switch += argv[i];