C-Bibliotheksfunktionsprintf()

C-Standardbibliothek - <stdio.h>

Beschreibung

C-Bibliotheksfunktionenint sprintf(char *str, const char *format, ...)Sendet formatierte Ausgabe anstrdie Zeichenkette, auf die gezeigt wird.

Deklaration

Nachfolgend finden Sie die Deklaration der Funktion sprintf().

int sprintf(char *str, const char *format, ...)

Parameter

  • str-- Dies ist ein Zeiger auf ein Zeichenarray, das die C-Zeichenkette speichert.
  • format-- Dies ist die Zeichenkette, die den in die Zeichenkette str zu schreibenden Text enthält. Sie kann eingebettete Format-Tags enthalten, die durch die in nachfolgenden zusätzlichen Argumenten angegebenen Werte ersetzt und nach Bedarf formatiert werden können. Die Attribute der Format-Tags sind: %[flags][width][.precision][length]specifier, wobei die Details wie folgt erläutert werden:
Spezifizierer (specifier)Ausgabe
cZeichen
d oder ivorzeichenbehaftete Dezimal-Ganzzahl
eWissenschaftliche Notation unter Verwendung des Zeichens e (Mantisse und Exponent)
EWissenschaftliche Notation unter Verwendung des Zeichens E (Mantisse und Exponent)
fDezimal-Gleitkommazahl
gAutomatische Auswahl der passenden Darstellung aus %e oder %f
GAutomatische Auswahl der passenden Darstellung aus %E oder %f
oVorzeichenbehaftetes Oktal
sZeichenkette
uvorzeichenlose Dezimal-Ganzzahl
xvorzeichenlose Hexadezimal-Ganzzahl
XVorzeichenlose Hexadezimal-Ganzzahl (Großbuchstaben)
pZeigeradresse
nKeine Ausgabe
%Zeichen

FlagsBeschreibung
-Linksbündige Ausrichtung innerhalb der angegebenen Feldbreite; rechtsbündig ist die Standardeinstellung (siehe Unterbezeichner für die Breite).
+Erzwingt, dass dem Ergebnis ein Plus- oder Minuszeichen (+ oder -) vorangestellt wird, d. h. positive Zahlen zeigen ein +-Zeichen. Standardmäßig wird nur negativen Zahlen ein --Zeichen vorangestellt.
(Leerzeichen)Wenn kein Vorzeichen geschrieben wird, wird ein Leerzeichen vor den Wert eingefügt.
#Bei Verwendung mit den Formatbezeichnern o, x oder X werden Nicht-Null-Werte jeweils mit 0, 0x bzw. 0X eingeleitet.
Bei Verwendung mit e, E und f enthält die Ausgabe zwangsweise einen Dezimalpunkt, selbst wenn keine Ziffern darauf folgen. Standardmäßig wird der Dezimalpunkt nicht angezeigt, wenn keine Ziffern darauf folgen.
Bei Verwendung mit g oder G ist das Ergebnis dasselbe wie bei e oder E, aber nachfolgende Nullen werden nicht entfernt.
0Setzen Sie Nullen (0) links neben die Zahl für die angegebene Auffüllung anstelle von Leerzeichen (siehe den Breiten-Unterbezeichner).

widthBeschreibung
(Zahl)Die minimale Anzahl auszugebender Zeichen. Wenn der Ausgabewert kürzer als diese Anzahl ist, wird das Ergebnis mit Leerzeichen aufgefüllt. Wenn der Ausgabewert länger als diese Anzahl ist, wird das Ergebnis nicht abgeschnitten.
*Die Breite wird nicht im Formatstring angegeben, sondern als zusätzliches ganzzahliges Wertargument bereitgestellt, das vor dem zu formatierenden Argument platziert wird.

.precisionBeschreibung
.numberFür Ganzzahl-Spezifizierer (d, i, o, u, x, X): Die Genauigkeit gibt die minimale Anzahl der zu schreibenden Ziffern an. Wenn der geschriebene Wert kürzer als diese Anzahl ist, wird das Ergebnis mit führenden Nullen aufgefüllt. Wenn der geschriebene Wert länger als diese Anzahl ist, wird das Ergebnis nicht abgeschnitten. Eine Genauigkeit von 0 bedeutet, dass keine Zeichen geschrieben werden.
Für die Spezifizierer e, E und f: die Anzahl der Ziffern, die nach dem Dezimalpunkt ausgegeben werden.
Für die Spezifizierer g und G: die maximale Anzahl signifikanter Ziffern, die ausgegeben werden.
Für s: die maximale Anzahl Zeichen, die ausgegeben werden. Standardmäßig werden alle Zeichen ausgegeben, bis das abschließende Nullzeichen angetroffen wird.
Für den Typ c: hat keine Auswirkung.
Wenn keine Genauigkeit angegeben ist, ist der Standardwert 1. Wenn sie ohne expliziten Wert angegeben wird, wird 0 angenommen.
.*Die Genauigkeit wird nicht in der Formatzeichenfolge angegeben, sondern als zusätzliches ganzzahliges Wertargument bereitgestellt, das vor dem zu formatierenden Argument platziert wird.

lengthBeschreibung
hDas Argument wird als short int oder unsigned short int interpretiert (gilt nur für Ganzzahl-Formatbezeichner: i, d, o, u, x und X).
lDas Argument wird als long int oder unsigned long int interpretiert, anwendbar auf Ganzzahl-Formatbezeichner (i, d, o, u, x und X) sowie auf die Formatbezeichner c (steht für ein Breitzeichen) und s (steht für eine Breitzeichen-Zeichenkette).
LDas Argument wird als long double interpretiert (gilt nur für Gleitkomma-Formatbezeichner: e, E, f, g und G).
  • Zusätzliche Argumente-- Abhängig von der Formatzeichenfolge kann die Funktion eine Reihe zusätzlicher Argumente erfordern, wobei jedes einen einzufügenden Wert enthält und jedes im Formatparameter angegebene %-Tag ersetzt. Die Anzahl der Argumente sollte der Anzahl der %-Tags entsprechen.

Rückgabewert

Bei Erfolg wird die Gesamtzahl der geschriebenen Zeichen zurückgegeben, mit Ausnahme des Nullzeichens, das am Ende der Zeichenkette angehängt wird. Bei Fehlschlag wird eine negative Zahl zurückgegeben.

Beispiel

Das folgende Beispiel demonstriert die Verwendung der Funktion sprintf().

Beispiel

#include <stdio.h>
#include <math.h>

int main()
{
   char str[80];

   sprintf(str, "Der Wert von Pi = %f", M_PI);
   puts(str);
   
   return(0);
}

Lassen Sie uns das obige Programm kompilieren und ausführen, was das folgende Ergebnis erzeugt:

Pi 的值 = 3.141593

C-Standardbibliothek - <stdio.h>

Weitere Erweiterungen