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önnten. Unter diesen Funktionen gibt es eine Funktion genannt snprint (), Welche Leute wissen kaum.

In diesem Artikel werden wir die Syntax, Parameter, Rückgabeteile und die Arbeit von erläutern snprintf () Funktion in c++. Man kann ein vollständiges Verständnis von finden snprintf () In diesem Leitfaden.

Was ist Snprintf () in C++

In c++, snprintf () ist eine Funktion, mit der eine Reihe von Zeichen- und Stringwerten, die in den Puffer geschrieben wurden, formatieren oder speichern. Es funktioniert ähnlich wie Sprintf () Funktion, aber es hat die Fähigkeit, Pufferüberläufe zu überwinden. Der Die Header -Datei enthält die snprint () Funktion und es muss deklariert werden, wenn Sie die Funktion in Ihrem Programm verwenden möchten. Der snprintf () Funktion gibt den maximalen Inhalt an, den der Puffer haben könnte.

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

snprintf (char* buffer, size_t buf_size, const char* format,…);

Sobald die Zeichen geschrieben wurden, wird ein Endnullzeichen eingefügt. Wenn max_bufsize Null ist, wird nichts gespeichert und der Puffer kann als Nullzeiger fungieren.

Parameter von snprintf ()

Im Folgenden finden Sie die in verwendeten Parameter in snprintf () Funktion.

  • Puffer: Ein Zeiger auf einen String -Puffer, in dem die Ausgabe geschrieben wird.
  • buf_size: MAX_BUFSIZE-1 ist die maximale Anzahl von Zeichen, die man in den Puffer schreiben kann.
  • Format: Eine null-terminierte Zeichenfolge wurde als Zeiger in einen Dateistrom geschrieben. Es besteht aus Zeichen und möglichen Formatspezifikatoren, die mit % beginnen. Die Werte der Variablen, die einer Formatzeichenfolge folgen, ersetzen die Formatspezifizierer.
  • (zusätzliche Argumente): Abhängig von der Art der Formatzeichenfolge kann die Funktion eine Liste zusätzlicher Argumente erwarten, die einen Wert enthalten, der verwendet wird, um den Formatspezifizierer im Format der Zeichenfolge zu ersetzen (oder für max_bufsize einen Zeiger auf einen Speicherort).

Es sollte ein Minimum von so vielen solchen Parametern geben, wie es Formatspezifiziererwerte gibt. Die Funktion ignoriert zusätzliche Argumente.

Was kehrt Snprintf () zurück

Wenn die Funktion erfolgreich ist, gibt sie die Anzahl der Zeichen zurück, die für einen angemessen großen Puffer als geschrieben angesehen werden, ohne einen terminierenden Nullcharakter. Wenn es fehlschlägt, ergibt es einen negativen Wert. Die Ausgabe wird vollständig geschrieben, wenn ein zurückgegebener Wert nicht negativ ist 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

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

char buff_size [60];
int return_value, max_bufsize = 60;
char str [] = "LinuxHint";
int Artikel = 45;
return_value = snprintf (buff_size, max_bufsize, "Hallo %s Benutzer, lasst uns %d Artikel über Bash lesen", STR, Artikel);
if (return_value> 0 && return_value < MAX_BUFSIZE)

Cout << buff_size << endl;
Cout << "Number of characters written = " << return_Value << endl;

anders
Cout << "Error writing to buffer" << endl;
Rückkehr 0;

Im obigen Code setzen wir die maximale Größe des Puffers auf 60. Dies bedeutet, dass der Code Zeichen nicht mehr als 60 akzeptiert. Wir haben die benutzt snprintf () Funktion zum Ausgabe einer Zeichenfolge mit 56 Zeichen und wird am Ausgangsanschluss angezeigt. Falls Ihre eingegebenen Zeichen mehr als 60 sind, wird das Programm durch einen Fehler erfolgt.

Abschluss

Wir haben den Prototyp, die Parameter, die Rückgabewerte und die Arbeit des C demonstriert++ snprintf () Funktion, die eine formatierte Zeichenfolge in einen Zeichenstringpuffer schreibt. Wir haben ein Beispiel mit einem vollständigen Verständnis von beschrieben snprintf () In diesem Leitfaden.