Пространства имён
Варианты
Действия

std::wmemmove

Материал из cppreference.com
 
 
 
Широкие строки с завершающим нулём
Функции
Операции с символами
Преобразования в числовые форматы
(C++11)(C++11)
(C++11)(C++11)
Операции со строками
Операции с массивами
 
<tbody> </tbody>
Определено в заголовочном файле <cwchar>
wchar_t* wmemmove( wchar_t* dest, const wchar_t* src, std::size_t count );

Копирует ровно count последовательных широких символов из массива широких символов, на который указывает src, в массив широких символов, на который указывает dest.

Если count равно нулю, функция ничего не делает.

Массивы могут перекрываться: копирование происходит так, как если бы широкие символы были скопированы во временный массив широких символов, а затем скопированы из временного массива в dest.

Параметры

dest указатель на массив широких символов, в который нужно копировать
src указатель на массив широких символов, из которого нужно копировать
count количество широких символов для копирования

Возвращаемое значение

Возвращает копию dest.

Примечание

Эта функция не зависит от локали и не обращает внимания на значения копируемых объектов wchar_t: также копируются нули и недопустимые символы.

Пример

#include <clocale>
#include <cwchar>
#include <iostream>
#include <locale>

int main()
{
    std::setlocale(LC_ALL, "en_US.utf8");
    std::wcout.imbue(std::locale("en_US.utf8"));

    wchar_t str[] = L"αβγδεζηθικλμνξοπρστυφχψω";
    std::wcout << str << '\n';
    std::wmemmove(str + 4, str + 3, 3); // копирует из [δεζ] в [εζη]
    std::wcout << str << '\n';
}

Возможный вывод:

αβγδεζηθικλμνξοπρστυφχψω
αβγδδεζθικλμνξοπρστυφχψω

Смотрите также

копирует определённое количество широких символов между двумя неперекрывающимися массивами
(функция) [править]
перемещает один буфер в другой
(функция) [править]
копирует диапазон элементов в новое место
(шаблон функции) [править]
копирует диапазон элементов в обратном порядке
(шаблон функции) [править]