Heim >Backend-Entwicklung >C++ >Wie steuern Sie die Anzahl der in einer Zeichenfolge gedruckten Zeichen mit printf() in C?

Wie steuern Sie die Anzahl der in einer Zeichenfolge gedruckten Zeichen mit printf() in C?

Barbara Streisand
Barbara StreisandOriginal
2024-11-24 20:31:35246Durchsuche

How do you control the number of characters printed in a string using printf() in C?

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn