Namespaces
Variants

std:: wcsncpy

From cppreference.net
Definiert im Header <cwchar>
wchar_t * wcsncpy ( wchar_t * dest, const wchar_t * src, std:: size_t count ) ;

Kopiert maximal count Zeichen der breiten Zeichenkette, auf die src zeigt (einschließlich des abschließenden Null-Breitzeichens), in das breite Zeichenarray, auf das dest zeigt.

Wenn count erreicht wird, bevor der gesamte String src kopiert wurde, ist das resultierende Breitzeichen-Array nicht nullterminiert.

Wenn nach dem Kopieren des abschließenden Null-Breitzeichens von src , count nicht erreicht ist, werden zusätzliche Null-Breitzeichen in dest geschrieben, bis insgesamt count Zeichen geschrieben wurden.

Wenn die Zeichenketten sich überlappen, ist das Verhalten undefiniert.

Inhaltsverzeichnis

Parameter

dest - Zeiger auf das Breitzeichen-Array, in das kopiert werden soll
src - Zeiger auf die zu kopierende Breitzeichen-Zeichenkette
count - maximale Anzahl zu kopierender Breitzeichen

Rückgabewert

dest

Hinweise

Im typischen Gebrauch ist count die Größe des Zielarrays.

Beispiel

#include <cwchar>
#include <iostream>
int main()
{
    const wchar_t src[] = L"hi";
    wchar_t dest[6] = {L'a', L'b', L'c', L'd', L'e', L'f'};
    std::wcsncpy(dest, src, 5); // this will copy 'hi' and repeat \0 three times
    std::wcout << "The contents of dest are: ";
    for (const wchar_t c : dest)
    {
        if (c)
            std::wcout << c << ' ';
        else
            std::wcout << "\\0" << ' ';
    }
    std::wcout << '\n';
}

Ausgabe:

The contents of dest are: h i \0 \0 \0 f

Siehe auch

kopiert eine Breitzeichen-Zeichenkette in eine andere
(Funktion)
kopiert eine bestimmte Anzahl von Breitzeichen zwischen zwei nicht überlappenden Arrays
(Funktion)
kopiert eine bestimmte Anzahl von Zeichen von einer Zeichenkette in eine andere
(Funktion)
C-Dokumentation für wcsncpy