Dan Gookin

C für Dummies


Скачать книгу

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

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 Кошелек, бонусными картами или другим удобным Вам способом.

/9j/4AAQSkZJRgABAQEBLAEsAAD/4gI4SUNDX1BST0ZJTEUAAQEAAAIoQURCRQIQAABtbnRyUkdC IFhZWiAH0AAIAAsAEwA2ABJhY3NwQVBQTAAAAABub25lAAAAAAAAAAAAAAAAAAAAAAAA9tYAAQAA AADTLUFEQkUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAApj cHJ0AAAA/AAAADJkZXNjAAABMAAAAGR3dHB0AAABlAAAABRia3B0AAABqAAAABRyVFJDAAABvAAA AA5nVFJDAAABzAAAAA5iVFJDAAAB3AAAAA5yWFlaAAAB7AAAABRnWFlaAAACAAAAABRiWFlaAAAC FAAAABR0ZXh0AAAAAENvcHlyaWdodCAyMDAwIEFkb2JlIFN5c3RlbXMgSW5jb3Jwb3JhdGVkAAAA ZGVzYwAAAAAAAAAKUEFML1NFQ0FNAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFhZWiAAAAAAAADzUQAB AAAAARbMWFlaIAAAAAAAAAAAAAAAAAAAAABjdXJ2AAAAAAAAAAECMwAAY3VydgAAAAAAAAABAjMA AGN1cnYAAAAAAAAAAQIzAABYWVogAAAAAAAAdIsAADt3AAADuFhZWiAAAAAAAABeGwAAtTQAABrZ WFlaIAAAAAAAACQwAAAPVQAAtJz/2wBDAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEB AQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQH/2wBDAQEBAQEBAQEBAQEBAQEBAQEBAQEB AQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQH/wAARCAOEApQDAREA AhEBAxEB/8QAHwABAAAGAwEBAAAAAAAAAAAAAAUGBwgJCgEDBAIL/8QAfBAAAAYCAQIDAwMJEQgJ DQYXAQIDBAUGAAcRCBIJEyEUMUEVIlEKFhgyVmFxltUXGSMkQlJTV1iBkZKTlZfR0jM2OFR2sbbW JSY3cnehtMHwNDlDRGJzdXiUsrfT1Cc1RkdVgoOis+HkGmN0hIaHpKW1RUhkZoWjptfx/8QAHgEB AAAHAQEBAAAAAAAAAAAAAAECAwQFBgcICQr/xAByEQACAQMCAwQEBQ4HCggJBBMBAgMABBEFIQYS MQcTQVEUImFxCBUygZEWI0JSVFWTlKGx0dLT8AkzU5KjwdQkNDVicnOisrPhNkNEdHWCtPEXGCVj d4OVtsIZNzhWV1hkltYmRYSXw9UnOUZldoXipP/aAAwDAQACEQMRAD8Apvnsiu0UxS