Mit der Funktion strncpy() wird die angegebene Anzahl an Zeichen von der Quelle zum Ziel kopiert.
Das Folgende ist die Syntax von strncpy()
char *strncpy( char *destination, char *source, size_t n);
Hier ist Ziel ein Zeiger auf das Zielarray, in das die Quellzeichenfolge kopiert wird, Quelle ist die Zeichenfolge, die kopiert werden soll, und n ist die Zeichenfolge, aus der kopiert werden soll . Die maximale Anzahl der zu kopierenden Zeichen. Die Funktion
strncpy() ist unsicher, denn wenn die ersten n Zeichen der Quellzeichenfolge kein NULL-Zeichen enthalten, wird die Zielzeichenfolge nicht mit NULL terminiert.
Das Folgende ist ein Programm, das die Funktion strncpy() in C++ demonstriert.
Online-Demonstration
#include <iostream> #include <cstring> using namespace std; int main () { char source[20] = "This is a string"; char dest[20]; strncpy(dest, source, 4); cout << "The destination string is: " << dest; return 0; }
Die Ausgabe des obigen Programms ist wie folgt.
The destination string is: This
Lassen Sie uns nun das obige Programm verstehen.
Der Quellstring enthält die Daten „Dies ist ein String“. Verwenden Sie dann strncpy(), um die ersten vier Zeichen in die Zielzeichenfolge zu kopieren. Drucken Sie dann den Inhalt der Zielzeichenfolge aus. Ein Codeausschnitt, der dies zeigt, finden Sie unten.
char source[20] = "This is a string"; char dest[20]; strncpy(dest, source, 4); cout << "The destination string is: " << dest;
Das obige ist der detaillierte Inhalt vonWarum halten wir strncpy in C/C++ für unsicher?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!