如何将char指针数组转换为字符串数组

C++ How to convert char pointer array to string array?

本文关键字:数组 转换 字符串 指针 char      更新时间:2023-10-16

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

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

然而,许多人更喜欢字符串操作的便利性,但是每次都必须将每个char*转换为std::string是一件麻烦事。所以我的问题是,如何将char*[]转换为std::string[],这样您就不必在程序中逐个转换它们了?

如果您接受std::vector,则可以使用其范围构造函数

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

可以遍历参数。

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