Der scanf-Format-String
Nach oben zu scanf, wscanf
Der Format-String steuert, wie ...scanf-Funktionen ihre Eingabefelder analysieren, konvertieren und speichern.
Der Format-String ist eine Zeichenfolge, die drei Typen von Objekten enthält:
- Whitespace-Zeichen
- Nicht-Whitespace-Zeichen
- Formatbezeichner
Whitespace-Zeichen
Die Whitespace-Zeichen sind Leerzeichen, Tabulatoren (\t) oder Zeichen für eine neue Zeile (\n).
Wenn eine ...scanf--Funktion in einem Format-String auf ein Whitespace-Zeichen stößt, werden alle folgenden Whitespace-Zeichen bis zum nächsten Nicht-Whitespace-Zeichen in der Eingabe gelesen, aber nicht gespeichert.
Ein abschließendes Whitespace-Zeichen wird nur gelesen (einschließlich des Zeichens für eine neue Zeile), wenn es explizit im Format-String angegeben ist.
Nicht-Whitespace-Zeichen
Die Nicht-Whitespace-Zeichen sind alle ASCII-Zeichen außer dem Prozentzeichen (%).
Wenn eine ...scanf-Funktion in einem Format-String auf ein Nicht-Whitespace-Zeichen stößt, wird ein übereinstimmendes Nicht-Whitespace-Zeichen gelesen, aber nicht gespeichert.
Formatbezeichner
Die Formatbezeichner weisen die ...scanf-Funktionen an, Zeichen aus dem Eingabefeld zu lesen und in bestimmte Typen von Werten zu konvertieren, und sie dann an der im Adressargument angegebenen Position zu speichern.
Hinweis: Jeder Formatbezeichner muss über ein Adressargument verfügen. Sind mehr Formatbezeichner als Adressen vorhanden, sind die Ergebnisse nicht vorhersehbar und führen eventuell zu einem Programmabbruch.
Sind mehr Adressargumente gegeben (als für das Format erforderlich), werden sie ignoriert.