Präzise Formatierung von Zeichenfolgen in C mit printf()
Beim Drucken von Zeichenfolgen mit der Funktion printf() ist es manchmal wünschenswert, diese anzugeben die Anzahl der zu druckenden Zeichen, ähnlich der Angabe von Dezimalstellen beim Drucken von Ganzzahlen. Um dies zu erreichen, können Präzisionsspezifizierer in der Formatzeichenfolge verwendet werden.
Basis-Präzisionsspezifizierer
Der Basis-Präzisionsspezifizierer, %.8s, wobei 8 das gewünschte Zeichen ist count kann verwendet werden, um die Zeichenfolge auf die angegebene Länge zu kürzen:
printf("Here are the first 8 chars: %.8s\n", "A string that is more than 8 chars");
Dies würde Folgendes erzeugen: Ausgabe:
Here are the first 8 chars: A string
Erweiterter Präzisionsspezifizierer
Ein flexiblerer Ansatz ist die Verwendung des %*.*s-Spezifizierers, wobei das zweite * die angibt Die maximale Anzahl der zu druckenden Zeichen und das erste * gibt die minimale Anzahl der zu druckenden Zeichen an. Die tatsächliche Anzahl der gedruckten Zeichen ist die kleinere der angegebenen Mindest- und Höchstlängen:
printf("Here are the first %d chars: %.*s\n", 8, 8, "A string that is more than 8 chars");
Dadurch wird auch die Ausgabe erzeugt:
Here are the first 8 chars: A string
Dies Der Spezifizierer ermöglicht eine bessere Kontrolle über den String-Druckprozess und ermöglicht Laufzeitanpassungen der minimalen und maximalen Länge. Darüber hinaus kann die %*.*s-Notation verwendet werden, um die Breite der gedruckten Zeichenfolgen basierend auf den Werten der Variablen dynamisch anzupassen:
printf("Data: %*.*s Other info: %d\n", minlen, maxlen, string, info);
Das obige ist der detaillierte Inhalt vonWie steuern Sie die Anzahl der in einer Zeichenfolge gedruckten Zeichen mit printf() in C?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!