Создайте строку из части массива char в Stack Overflow

У меня очень большой массив wchar_t. Я хотел бы построить wstring из части этого массива wchar_t, например, между i и j.

Я не хочу превращать массив больших символов в строку wstring, а затем брать подстроку.

Как я могу сделать это, пожалуйста?

-3

Решение

Используйте конструктор пары итераторов:

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 если беспокоится и об универсальных, так как он работает как с массивами, так и со стандартными контейнерами.

7

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]