Heim > Backend-Entwicklung > C++ > Wie lege ich mit printf() die Anzahl der aus einer Zeichenfolge zu druckenden Zeichen fest?

Wie lege ich mit printf() die Anzahl der aus einer Zeichenfolge zu druckenden Zeichen fest?

Linda Hamilton
Freigeben: 2024-11-30 14:57:12
Original
723 Leute haben es durchsucht

How to Specify the Number of Characters to Print from a String using printf()?

Angabe der Anzahl der zu druckenden Zeichen mit printf()

Es stellt sich die Frage: Gibt es in printf() einen Mechanismus, der dies ermöglicht? Angabe der Anzahl der aus einer Zeichenfolge zu druckenden Zeichen? Man könnte dies mit der Angabe von Dezimalstellen in ganzen Zahlen vergleichen. Zum Beispiel:

printf ("Here are the first 8 chars: %s\n", "A string that is more than 8 chars");
Nach dem Login kopieren

Wünschenswerterweise sollte diese Zeile Folgendes ausgeben:

Here are the first 8 chars: A string
Nach dem Login kopieren

Lösung

Es gibt zwei Hauptansätze, um dies zu erreichen C.

Methode 1: Das Grundlegende Ansatz

printf ("Here are the first 8 chars: %.8s\n", "A string that is more than 8 chars");
Nach dem Login kopieren

Methode 2: Der vielseitige Ansatz

printf ("Here are the first %d chars: %.*s\n", 8, 8, "A string that is more than 8 chars");
Nach dem Login kopieren

Bei diesem Ansatz wird die Länge als int-Argument an printf() bereitgestellt . Das „*“ im Format wird als Anforderung interpretiert, die Länge aus einem Argument abzurufen.

Erweiterte Notation

Eine andere Notation kann verwendet werden:

printf ("Here are the first 8 chars: %*.*s\n",
        8, 8, "A string that is more than 8 chars");
Nach dem Login kopieren

Analog zu „%8.8s“ ermöglicht diese Notation auch die Angabe von minimalen und maximalen Längen zur Laufzeit. Dies ist besonders nützlich in Szenarien wie:

printf("Data: %*.*s Other info: %d\n", minlen, maxlen, string, info);
Nach dem Login kopieren

Die POSIX-Spezifikation für printf() bietet eine detaillierte Erklärung dieser Mechanismen.

Das obige ist der detaillierte Inhalt vonWie lege ich mit printf() die Anzahl der aus einer Zeichenfolge zu druckenden Zeichen fest?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage