werden an den entsprechenden Punkten in den format_string
eingesetzt, wo die Prozentzeichen auftauchen. Diese Prozentzeichen nennt man auch Konvertierungszeichen. Ein Beispiel:
printf("Yep, ich glaube auch, dass %s ein Idiot ist!\n", idiot);
Hier ist der Formatstring der Text Yep, ich glaube auch, dass ____ ein Idiot ist!
. Das %s
-Konvertierungszeichen ist ein Platzhalter, eine Leerstelle, die mit einem String gefüllt werden muss (ich nenne das Platzhalter, aber die Kings der C-Programmierung reden von Konvertierungszeichen). Die Variable dahinter, idiot
, ist eine Stringvariable, deren Inhalt eingefügt wird.
Sie können eine beliebige Anzahl von Konvertierungszeichen in einem Formatstring unterbringen. Aber es muss für jedes Konvertierungszeichen eine zugehörige Variable vorhanden sein; drei %s würden auch drei Stringvariablen erfordern.
Sie können sowohl Strings als auch Zahlen angeben, wenn Sie die richtigen Konvertierungszeichen verwenden. Dazu kommen wir gleich.
Schauen Sie sich die Abbildung in dem Kasten » Geheime Information über die Arbeitsweise von Justify.c« an, wenn Sie wissen wollen, wie das Konvertierungszeichen in einem printf zusammen mit einer Stringvariablen funktioniert.
Die Konvertierungszeichen von printf
Tabelle 3.2 zählt alle Konvertierungszeichen von printf
auf. Bisher haben Sie nur %s
gesehen, einige andere sind für Zahlen und – brrrrr – Mathematik gedacht; Sie werden dies in Kapitel 4 wiederfinden.
Konvertierungszeichen | Stelle das Argument (Variableninhalt) dar als |
---|---|
%c | einzelnes Zeichen |
%d |
Dezimalzahl (int ) mit Vorzeichen
|
%e | Fließkommazahl mit Vorzeichen in Exponentialschreibweise |
%f |
Fließkommazahl mit Vorzeichen (float )
|
%g |
Fließkommazahl, die entweder als %e oder %f dargestellt wird, je nachdem, was kürzer ist
|
%i |
Dezimalzahl (int ) mit Vorzeichen (wie %d )
|
%li |
Dezimalzahl (long ) mit Vorzeichen
|
%lli |
Dezimalzahl (long long ) mit Vorzeichen
|
%o |
Oktalzahl (zur Basis 8) ohne Vorzeichen (int )
|
%s | String |
%u |
Dezimalzahl (int ) ohne Vorzeichen
|
%x |
Hexadezimalzahl (zur Basis 16) ohne Vorzeichen (int )
|
%p | Dient zur Ausgabe von Zeigern, also Adressen im Speicher. Mehr in Kapitel 12. |
Tabelle 3.2: Die Konvertierungszeichen von printf
Genau wie bei den Escape-Sequenzen sind auch die Konvertierungszeichen etwas, das man oft braucht, sich aber nie merkt. Also gleich einen gelben Haftzettel auf die Seite kleben. Sie wissen schon …
»Argument« bezeichnet eine Variable, deren Inhalt für einen Platzhalter eingesetzt wird. Weil
printf
mehr als eine Variable besitzen kann und weil C-Programmierer irgendwie anders sind, nennt man das auch Argumente.
Wenn Sie ein Beispiel für %c suchen, sehen Sie im Programm Silly.c nach.
Andere Programme in diesem Buch benutzen %d, %e, %i, %u und andere Platzhalter. Oder auch nicht.
Zusätzlicher Formatierungskrempel
In Ihrem C-Referenzhandbuch sind noch weitere Formatinformationen aufgeführt, zusätzliche Zeichen, die zusammen mit den Konvertierungszeichen von printf
ergänzende Formatierungseffekte ergeben. Diese Information ist zu komplex, als dass es sich lohnt, hier den Platz dafür zu verschwenden. Schauen Sie stattdessen in Ihrem Referenzhandbuch oder dem Onlinehandbuch für printf
nach und suchen Sie nach den folgenden Formatierungsmöglichkeiten:
Flags
Breitenangaben (width)
Präzisionsangaben (für die Kommastellen)
Eingabeformate
Diese Informationen brauchen Sie zum jetzigen Zeitpunkt nicht. Aber sie sind ganz praktisch, wenn Sie mit der Arbeit mit Zahlen beginnen oder eine etwas andere Ausgabe bei printf
benötigen, als wir sie bisher benutzt haben.
Конец ознакомительного фрагмента.
Текст предоставлен ООО «ЛитРес».
Прочитайте эту книгу целиком, купив полную легальную версию на ЛитРес.
Безопасно оплатить книгу можно банковской картой Visa, MasterCard, Maestro, со счета мобильного телефона, с платежного терминала, в салоне МТС или Связной, через PayPal, WebMoney, Яндекс.Деньги, QIWI Кошелек, бонусными картами или другим удобным Вам способом.