Namensräume
Varianten
Aktionen

std::strncpy

Von cppreference.com
< cpp‎ | string‎ | byte
 
 
 
 
Definiert in Header <cstring>
char* strncpy( char* dest, const char* src, std::size_t count );

Kopiert höchstens count Zeichen des von src (einschließlich des abschließenden Nullzeichens) auf das von dest zeigende Zeichen-Array.

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

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

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

Inhalt

[edit] Parameter

dest - Zeiger auf das Zeichen-Array, in das kopiert werden soll
src - Zeiger auf den Byte-String, aus dem kopiert werden soll
zählt - maximale Anzahl von zu kopierenden Zeichen

[edit] Rückgabewert

dest

[edit] 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

[edit] Siehe auch

kopiert einen String in einen anderen
(Funktion) [bearbeiten]
kopiert einen Puffer in einen anderen
(Funktion) [bearbeiten]
C-Dokumentation für strncpy