So verwenden Sie die STRNCPY -Funktion in C ++

So verwenden Sie die STRNCPY -Funktion in C ++
Es gibt viele Funktionen in C ++, um Strings oder Zeichen von einem Ort zum anderen zu kopieren, nämlich Strcpy, Strncpy und memcpy. Sie unterscheiden sich je nach ihren Funktionen voneinander. In diesem Tutorial werden das erörtert strncpy () Funktion in c++.

Was ist die Funktion von strncpy () in C++

Die Funktion strncpy () ist eine integrierte C ++-Funktion, mit der eine feste Anzahl von Zeichen von einer Zeichenfolge zu einem anderen kopiert wird. Die Funktion benötigt drei Parameter: die Zielzeichenfolge, die die Zeichen enthält. Wenn die Quellzeichenfolge geringer ist als die angegebene Anzahl von Zeichen, wird die Zielzeichenfolge mit Nullzeichen auf die verbleibende Länge gepolstert.

Der Prototyp einer Funktion von strncpy () ist unten angegeben.

char *strncpy (char *dest, const char *src, size_t count);

Was sind die Parameter von C ++ Strncpy ()

Alle Parameter von strncpy () Funktion werden unten erläutert.

  • Ziel: Ein Zeiger auf das Ziel -Array, für das der Inhalt gewesen ist
  • SRC: Ein Zeiger auf das Quellarray, aus dem der Inhalt stammt
  • zählen: Die höchste Anzahl von Zeichen, die möglicherweise von der Quelle zum Ziel kopiert werden können.

Wie funktioniert strncpy () function in c++

strncpy () Funktion akzeptiert drei Argumente: Dest, Src, Und zählen. Es überprüft, ob die src String ist null-terminiert, und wenn ja, kopiert sie die angegebene Anzahl von Zeichen aus dem src Saite an die Ziel Saite. Wenn die Anzahl geringer ist als die Länge der src String, die ersten Zählzeichen wurden auf übertragen Ziel Saite und sind nicht nullterminiert. Wenn die Anzahl die Länge von überschreitet src, alle Charaktere von src werden kopiert zu Ziel, und zusätzliche Beendigung von Nullfiguren wurden aufgenommen, bis alle Zählzeichen geschrieben sind.

Das angegebene Beispiel zeigt die Arbeit des C++ strncpy () Funktion.

#enthalten
#enthalten
Verwenden von Namespace STD;
int main ()

char src_str [] = "Ich schreibe einen Code für strncpy";
char dest_str [60];
strncpy (dest_str, src_str, strlen (src_str));
Cout<Rückkehr 0;

In diesem Programm haben wir verwendet Header -Datei, weil sie enthält strncpy () Funktion. Wir haben zwei Saiten definiert, eine ist src_str Und der andere ist dest_str. strncpy () Funktion, die Daten von entnimmt src_str -Zeichenfolge und kopiert es an die dest_str. Hier Strlen (src_str) wird verwendet, um die Gesamtzahl der Zeichen aus dem zu zählen src_str -Zeichenfolge.

Der Ausgang des Programms kann unten gezeigt werden.

Was sind die Probleme mit der Verwendung von Strncpy () in C++

  • Wenn im Zielarray kein Nullzeichen vorliegt oder die Zeichenfolge nicht nullte. Eine nicht null-terminierte Zeichenfolge in C ++ ist zu riskantem Code geworden, der jederzeit während der Programmausführung brechen kann. Dies kann zu einem Segmentierungsfehler im Programm führen. Infolge, strncpy () stellt nicht sicher, dass die Zielzeichenfolge immer nullte.
  • Diese Funktion überprüft nicht über Überlauf.

Abschluss

Um Daten von einer Zeichenfolge in eine andere zu kopieren, verwenden wir strncpy () in C ++, was eine integrierte Funktion in ist Header-Datei. In diesem Artikel haben wir Syntax und Arbeiten des C erörtert++ strncpy Funktion mit einem Beispiel. Wir haben auch einige Probleme hervorgehoben strncpy Funktion kann unseren Code riskant machen.