std::wmemmove
Материал из cppreference.com
Определено в заголовочном файле <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'; }
Возможный вывод:
αβγδεζηθικλμνξοπρστυφχψω αβγδδεζθικλμνξοπρστυφχψω
[править] Смотрите также
копирует определённое количество широких символов между двумя неперекрывающимися массивами (функция) | |
перемещает один буфер в другой (функция) | |
(C++11) |
копирует диапазон элементов в новое место (шаблон функции) |
копирует диапазон элементов в обратном порядке (шаблон функции) | |
Документация C по wmemmove
|