我想学习更多C ++ ...通常我会创建一个for循环来解析argv,最后我会找到一堆C风格的字符串。我想在C ++中做类似的事情,但最好不要从/ proc /中读取。起初,我试图将C风格的字符串转换为C ++风格的字符串而没有结果...令人沮丧的是,SO上的每个人似乎都想知道如何走另一条路,这就是c_str()的用途。 。有什么好的C ++方法(即解析argv)?
另外,请注意,我正在寻找一个unix风格的答案,我见过的所有转换技术都与Windows有关,我完全不感兴趣。
答案 0 :(得分:23)
我不确定我完全理解这个问题。
我知道在一个易于使用的数组中获取所有参数的最干净的方法是:
std::vector<std::string> v(argv, argv + argc);
但如果您正在寻找真正解析数据的方法,请查看Boost.ProgramOptions。
答案 1 :(得分:2)
您是否在将argv转换为字符串时遇到问题?你可以这样做:
string s(argv[i]);
...其中i
是argv
的有效索引。