【问题标题】:parsing argc and argv in c++在 C++ 中解析 argc 和 argv
【发布时间】:2012-02-12 05:29:11
【问题描述】:

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

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

【问题讨论】:

标签: c++ string argv


【解决方案1】:

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

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

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

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

【讨论】:

  • +1 Boost 程序选项很棒。使制作命令行应用程序变得更加容易。
【解决方案2】:

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

string s(argv[i]);

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

【讨论】:

    猜你喜欢
    • 2014-05-15
    • 1970-01-01
    • 2020-10-12
    • 1970-01-01
    • 1970-01-01
    • 2013-09-08
    • 2017-08-10
    • 2011-04-15
    • 2012-04-20
    相关资源
    最近更新 更多