Was ist snprintf() in C++

Was Ist Snprintf In C



C++ ist die häufig verwendete Programmiersprache, die Programmierern mehrere Vorteile bietet. Es enthält verschiedene integrierte Funktionen, die für die vielen Zwecke verwendet werden können. Unter diesen Funktionen gibt es eine Funktion namens snprint() , die die Leute kaum kennen.

In diesem Artikel erklären wir die Syntax, Parameter, Rückgabewerte und die Funktionsweise von snprintf() Funktion in C++. Man kann ein vollständiges Verständnis von finden snprintf() in dieser Anleitung.

Was ist snprintf() in C++

In C++, snprintf() ist eine Funktion zum Formatieren oder Speichern einer Reihe von Zeichen- und Zeichenfolgenwerten, die in den Puffer geschrieben werden. Es funktioniert ähnlich wie sprintf() Funktion, aber es hat die Fähigkeit, Pufferüberläufe zu überwinden. Der Header-Datei enthält die snprint() Funktion und muss deklariert werden, wenn Sie die Funktion in Ihrem Programm verwenden möchten. Der snprintf() Die Funktion gibt den maximalen Inhalt an, den der Puffer haben kann.







Die unten angegebene Syntax ist die zu verwendende Syntax snprintf() Funktion in C++:



snprintf ( verkohlen * Puffer, Größe_t buf_größe, konst verkohlen * Format, ... ) ;

Nachdem die Zeichen geschrieben wurden, wird ein abschließendes Nullzeichen eingefügt. Wenn MAX_BUFSIZE Null ist, wird nichts gespeichert und der Puffer kann als Nullzeiger wirken.



Parameter von snprintf()

Im Folgenden sind die Parameter aufgeführt, die in verwendet werden snprintf() Funktion.





  • Puffer : Ein Zeiger auf einen Zeichenfolgenpuffer, in den die Ausgabe geschrieben wird.
  • buf_size : MAX_BUFSIZE-1 ist die maximale Anzahl von Zeichen, die man in den Puffer schreiben kann.
  • Format : Eine nullterminierte Zeichenfolge wurde als Zeiger in einen Dateistream geschrieben. Es besteht aus Zeichen und möglichen Formatbezeichnern beginnend mit %. Die Werte der Variablen, die einer Formatzeichenfolge folgen, ersetzen die Formatbezeichner.
  • (zusätzliche Argumente) : Abhängig vom Typ des Formatstrings erwartet die Funktion möglicherweise eine Liste zusätzlicher Argumente, die alle einen Wert enthalten, der verwendet wird, um den Formatbezeichner im Format des Strings zu ersetzen (oder für MAX_BUFSIZE einen Zeiger auf einen Speicherort). .

Es sollten mindestens so viele solcher Parameter vorhanden sein, wie Werte für Formatbezeichner vorhanden sind. Die Funktion ignoriert jedes zusätzliche Argument.

Was gibt snprintf() zurück

Wenn die Funktion erfolgreich ist, gibt sie die Anzahl der Zeichen zurück, die für einen entsprechend großen Puffer als geschrieben betrachtet würden, mit Ausnahme eines abschließenden Nullzeichens. Wenn es fehlschlägt, ergibt es einen negativen Wert. Die Ausgabe gilt nur dann als vollständig geschrieben, wenn ein zurückgegebener Wert nichtnegativ und kleiner als MAX_BUFSIZE ist.



So verwenden Sie snprintf() in C++

Hier ist ein Beispiel für die Verwendung von snprintf() in C++:

Beispiel

#include
#include
verwenden Namensraum Standard ;
int hauptsächlich ( )
{
verkohlen buff_size [ 60 ] ;
int return_Value, MAX_BUFSIZE = 60 ;
verkohlen Str [ ] = 'Linux' ;
int Artikel = Vier fünf ;
Rückgabewert = snprintf ( buff_size, MAX_BUFSIZE, 'Hallo %s Benutzer, lasst uns %d Artikel über bash lesen' ,Str, Artikel ) ;
Wenn ( Rückgabewert > 0 && Rückgabewert < MAX_BUFSIZE )
{
cout << buff_size << Ende ;
cout << 'Anzahl der geschriebenen Zeichen = ' << Rückgabewert << Ende ;
}
anders
cout << 'Fehler beim Schreiben in den Puffer' << Ende ;
zurückkehren 0 ;
}

Im obigen Code setzen wir die maximale Größe des Puffers auf 60. Das bedeutet, dass der Code nicht mehr als 60 Zeichen akzeptiert. Wir haben die verwendet snprintf() Funktion, um eine Zeichenfolge mit 56 Zeichen auszugeben, die am Ausgabeterminal angezeigt wird. Falls Sie mehr als 60 Zeichen eingegeben haben, wird das Programm einen Fehler machen.

Abschluss

Wir haben den Prototyp, Parameter, Rückgabewerte und die Funktionsweise von C++ demonstriert snprintf() Funktion, die eine formatierte Zeichenfolge in einen Zeichenkettenpuffer schreibt. Wir haben ein Beispiel mit einem vollständigen Verständnis von beschrieben snprintf() in dieser Anleitung.