std::strncpy
Von cppreference.com
| 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
Führen Sie diesen Code aus
#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) | |
| kopiert einen Puffer in einen anderen (Funktion) | |
| C-Dokumentation für strncpy
| |