从c++中字符数组的一部分构造字符串

Construct a string from a portion of a char array in C++

本文关键字:一部分 字符串 数组 c++ 字符      更新时间:2023-10-16

我有一个很大的wchar_t数组。我想从这个wchar_t数组的一部分构造一个wstring,例如在I和j之间。

我不想把大字符数组变成一个wstring,然后取一个子字符串。

使用迭代器对构造函数:

std::wstring str(arr + i, arr + j + 1); //need one past the end

在本例中,由于指针是随机访问迭代器,所以加法操作有效。对于在迭代器不支持operator+时工作的通用形式,请使用std::next(arr, i)std::next(arr, j + 1)。如果担心泛型,也可以使用std::begin来代替arr,因为它可以在数组和标准容器上工作。