scanf-Formatbezeichner
Nach oben zu scanf, wscanf
In scanf-Format-Strings haben Formatbezeichner die folgende Form:
% [*] [Breite] [F|N] [h|l|L] Typzeichen
Jeder Formatbezeichner beginnt mit dem Prozentzeichen (%).
Auf das Prozentzeichen folgt eine der nachstehenden Angaben (in der aufgeführten Reihenfolge):
Komponente | Optional/Erforderlich | Bedeutung |
---|---|---|
[*] |
(Optional) |
Zeichen für die Genauigkeit. Das Zeichen für die Genauigkeit ist ein Sternchen (*), nicht zu verwechseln mit dem Indirektionsoperator (Zeiger) in C. Wenn in einem Formatbezeichner das Sternchen auf das Prozentzeichen (%) folgt, wird das nächste Eingabefeld durchsucht, aber nicht dem nächsten Adressargument zugewiesen. Es wird davon ausgegangen, dass die unterdrückten Eingabedaten den Typ haben, der im auf das Sternchen folgenden Typzeichen angegeben ist. |
[Breite] |
(Optional) |
Breitenbezeichner. Der Breitenbezeichner (n), ein dezimaler Integerwert, legt die maximale Anzahl von Zeichen fest, die aus dem aktuellen Eingabefeld gelesen werden sollen. Es werden bis zu n Zeichen gelesen, konvertiert und in dem aktuellen Adressargument gespeichert. Enthält das Eingabefeld weniger als n Zeichen, liest die Funktion ...scanf alle Zeichen in dem Feld und fährt dann mit dem nächsten Feld und Formatbezeichner fort. Der Erfolg der literalen Vergleiche und unterdrückten Zuweisungen ist nicht direkt bestimmbar. Wenn die Funktion ...scanf auf ein Whitespace- oder nicht-konvertierbares Zeichen stößt, bevor "Breite" Zeichen gelesen wurden, werden:
Ein nicht-konvertierbares Zeichen ist ein Zeichen, das entsprechend dem angegebenen Format nicht konvertiert werden kann (8 oder 9 bei einem oktalen Format, J oder K bei einem dezimalen oder hexadezimalen Format usw.).| align="left" valign="top" | |
[F|N] |
(Optional) |
Modifizierer für die Zeigergröße. Überschreibt die Standardgröße des Adressarguments:
|
[h|l|L] |
(Optional) |
Modifizierer für den Argumenttyp. Überschreibt den Standardtyp des Adressarguments:
|
Typzeichen |
(Erforderlich) |