提问者:小点点

二维字符数组转换为一维字符串数组


在C++中将二维字符数组复制到一维数组字符串中最简单的方法是什么?

大概是这样的:

    char inCharArray[3][255];
    string outStringArray[3];

    for (int i = 0; i < sizeof(inCharArray) / sizeof(inCharArray[i]); i++)
    {
        outStringArray[i] = inCharArray[i];
    }

问候蒂尔曼


共1个答案

匿名用户

使用STL算法是最好的方法之一。

char inCharArray[3][255];
string outStringArray[3];

std::transform(
    std::begin(inCharrArray),
    std::end(inCharArray),
    std::begin(outStringArray),
    [](char const* c_str) -> std::string {
        return std::string{c_str};
    }
);

这是假设字符串结束的时间早于255。