在c ++中解析argc和argv

时间:2009-11-29 05:39:01

标签: c++ string argv

我想学习更多C ++ ...通常我会创建一个for循环来解析argv,最后我会找到一堆C风格的字符串。我想在C ++中做类似的事情,但最好不要从/ proc /中读取。起初,我试图将C风格的字符串转换为C ++风格的字符串而没有结果...令人沮丧的是,SO上的每个人似乎都想知道如何走另一条路,这就是c_str()的用途。 。有什么好的C ++方法(即解析argv)?

另外,请注意,我正在寻找一个unix风格的答案,我见过的所有转换技术都与Windows有关,我完全不感兴趣。

2 个答案:

答案 0 :(得分:23)

我不确定我完全理解这个问题。

我知道在一个易于使用的数组中获取所有参数的最干净的方法是:

std::vector<std::string> v(argv, argv + argc);

但如果您正在寻找真正解析数据的方法,请查看Boost.ProgramOptions

答案 1 :(得分:2)

您是否在将argv转换为字符串时遇到问题?你可以这样做:

string s(argv[i]);

...其中iargv的有效索引。