Namespaces
Variants

std:: strncpy

From cppreference.net
Definiert im Header <cstring>
char * strncpy ( char * dest, const char * src, std:: size_t count ) ;

Kopiert höchstens count Zeichen des Byte-Strings, auf den src zeigt (einschließlich des abschließenden Nullzeichens), in das Zeichenarray, auf das dest zeigt.

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

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

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

Inhaltsverzeichnis

Parameter

dest - Zeiger auf das Zeichenarray, in das kopiert werden soll
src - Zeiger auf die Byte-Zeichenkette, aus der kopiert werden soll
count - maximale Anzahl der zu kopierenden Zeichen

Rückgabewert

dest

Beispiel

#include <cstring>
#include <iostream>
int main()
{
    const char* src = "hi";
    char dest[6] = {'a', 'b', 'c', 'd', 'e', 'f'};
    std::strncpy(dest, src, 5);
    std::cout << "The contents of dest are: ";
    for (char c : dest)
    {
        if (c)
            std::cout << c << ' ';
        else
            std::cout << "\\0" << ' ';
    }
    std::cout << '\n';
}

Ausgabe:

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

Siehe auch

kopiert eine Zeichenkette in eine andere
(Funktion)
kopiert einen Puffer in einen anderen
(Funktion)
C-Dokumentation für strncpy