* Bewirkt, dass fprintf die Ausgabe auffüllt, bis sie n Zeichen breit ist, wobei n ein ganzzahliger Wert ist, der im a-Funktionsargument gespeichert ist, das direkt vor dem durch den geänderten Typ dargestellten Wert liegt.
printf("%*d", 5, 10) //will result in "10" being printed with a width of 5.
Alle Antworten
Es wird verwendet, um auf dynamische Weise die Breite des Feldes anzugeben:
"Einzug" gibt also an, wie viel Speicherplatz für die darauf folgende Zeichenfolge in der Parameterliste zugewiesen werden soll.
Damit,
ist das gleiche wie
Es ist eine gute Möglichkeit, Leerzeichen in Ihre Datei einzufügen und eine Schleife zu vermeiden.
Verwenden Sie "% * s" nicht für einen Puffer, der nicht mit NULL abgeschlossen (gepackt) ist, da er nur das Feld "Länge" druckt.
Der Formatbezeichner% 4s gibt einen String in einer Feldbreite von 4 aus, dh printf zeigt den Wert mit mindestens 4 Zeichenpositionen an.
Wenn der auszugebende Wert ist
less
als 4 Zeichenpositionen breit ist der Wertright justified
standardmäßig im Feld.Wenn der Wert ist
greater
als 4 Zeichenpositionen breit, die Feldbreiteexpands
um die entsprechende Anzahl von Zeichen aufzunehmen.Um den Wert linksbündig auszurichten, verwenden Sie eine negative Ganzzahl, um die Feldbreite anzugeben.
Verweise:Java ™ Programmieranleitung (frühe Objekte), 10. Ausgabe
* Bewirkt, dass fprintf die Ausgabe auffüllt, bis sie n Zeichen breit ist, wobei n ein ganzzahliger Wert ist, der im a-Funktionsargument gespeichert ist, das direkt vor dem durch den geänderten Typ dargestellten Wert liegt.
http://www.cplusplus.com/reference/clibrary/cstdio/printf/
z.B:
printf("%*s", 4, myValue);
ist gleichbedeutend mitprintf("%4s", myValue);
.Leave a Reply