【问题标题】:C++ How to convert char pointer array to string array?C ++如何将char指针数组转换为字符串数组?
【发布时间】:2016-10-03 03:51:30
【问题描述】:

在 C++ 应用程序中,参数都存储在 char* 数组中,如下所示:

int main(int argc, char* argv[])
{
    ...
}

然而,很多人更喜欢字符串操作的便利性,但每次都必须将每个 char* 转换为 std::string 会很麻烦。所以我的问题是,如何将 char*[] 转换为 std::string[],这样您就不必在程序进行时将它们全部单独转换?

【问题讨论】:

  • 阅读循环章节。

标签: c++ arrays string char


【解决方案1】:

如果你接受std::vector,你可以使用它的范围构造函数。

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

【讨论】:

  • 那是std::vector&lt;std::string&gt; args(...)
  • @woolstar 已编辑。谢谢。
【解决方案2】:

您可以遍历参数。

int main(int argc, char* argv[]) {

   std::string *s = new std::string[argc];
    for (int i = 0; i < argc; ++i)
        s[i] = argv[i];

}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-03-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-13
    • 2015-11-30
    相关资源
    最近更新 更多