Namensräume
Varianten
Aktionen

std::wmemmove

Von cppreference.com
< cpp‎ | string‎ | wide
 
 
 
 
Definiert in Header <cwchar>
wchar_t* wmemmove( wchar_t* dest, const wchar_t* src, std::size_t count );

Kopiert exakt count aufeinanderfolgende Weitzeichen vom Weitzeichen-Array, auf das src zeigt, in das Weitzeichen-Array, auf das dest zeigt.

Wenn count Null ist, tut die Funktion nichts.

Die Arrays dürfen sich überlappen: Das Kopieren erfolgt so, als ob die Weitzeichen in ein temporäres Weitzeichen-Array kopiert und dann vom temporären Array nach dest kopiert würden.

Inhalt

[bearbeiten] Parameter

dest - Zeiger auf das Wide-Zeichen-Array, in das kopiert werden soll
src - Zeiger auf das Wide-Zeichen-Array, aus dem kopiert werden soll
zählt - Anzahl der zu kopierenden Wide-Zeichen

[bearbeiten] Rückgabewert

Gibt eine Kopie von dest zurück.

[bearbeiten] Hinweise

Diese Funktion ist nicht lokalisierungsabhängig und achtet nicht auf die Werte der wchar_t-Objekte, die sie kopiert: Null- und ungültige Zeichen werden ebenfalls kopiert.

[bearbeiten] Beispiel

#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';
}

Mögliche Ausgabe

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

[bearbeiten] Siehe auch

kopiert eine bestimmte Anzahl breiter Zeichen zwischen zwei nicht überlappenden Arrays
(Funktion) [bearbeiten]
verschiebt einen Puffer in einen anderen
(Funktion) [bearbeiten]
Kopiert einen Elementbereich an einen neuen Speicherort
(Funktionstempelat) [edit]
Kopiert einen Elementbereich in umgekehrter Reihenfolge
(Funktionstempelat) [edit]
C-Dokumentation für wmemmove