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

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

有帮助吗?

解决方案

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

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

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

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

其他提示

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

string s(argv[i]);

...其中 i argv 的有效索引。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top