Namespaces
Variants

std:: wmemmove

From cppreference.net
Определено в заголовочном файле <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); // copy from [δεζ] to [εζη]
    std::wcout << str << '\n';
}

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

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

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

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