Namespaces
Variants

std:: wmemmove

From cppreference.net
Défini dans l'en-tête <cwchar>
wchar_t * wmemmove ( wchar_t * dest, const wchar_t * src, std:: size_t count ) ;

Copie exactement count caractères larges successifs du tableau de caractères larges pointé par src vers le tableau de caractères larges pointé par dest .

Si count est nul, la fonction ne fait rien.

Les tableaux peuvent se chevaucher : la copie s'effectue comme si les caractères larges étaient copiés dans un tableau temporaire de caractères larges puis copiés depuis le tableau temporaire vers dest .

Table des matières

Paramètres

dest - pointeur vers le tableau de caractères larges à copier
src - pointeur vers le tableau de caractères larges à copier depuis
count - nombre de caractères larges à copier

Valeur de retour

Retourne une copie de dest .

Notes

Cette fonction n'est pas sensible aux paramètres régionaux et ne prête aucune attention aux valeurs des wchar_t qu'elle copie : les caractères nuls ainsi que les caractères non valides sont également copiés.

Exemple

#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); // copier de [δεζ] vers [εζη]
    std::wcout << str << '\n';
}

Sortie possible :

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

Voir aussi

copie une certaine quantité de caractères larges entre deux tableaux non chevauchants
(fonction)
déplace un tampon vers un autre
(fonction)
copie une plage d'éléments vers un nouvel emplacement
(modèle de fonction)
copie une plage d'éléments dans l'ordre inverse
(modèle de fonction)
Documentation C pour wmemmove