Inhaltsverzeichnis:
Definition - Was bedeutet Scanf?
In der Programmiersprache C ist scanf eine Funktion, die formatierte Daten aus stdin (dh dem Standardeingabestream, der normalerweise die Tastatur ist, sofern er nicht umgeleitet wird) liest und die Ergebnisse dann in die angegebenen Argumente schreibt.
Diese Funktion gehört zu einer Familie von Funktionen, die dieselbe Funktionalität haben, sich jedoch nur in der Datenquelle unterscheiden. Beispielsweise bezieht fscanf seine Eingabe aus einem Dateistream, während sscanf seine Eingabe aus einer Zeichenfolge erhält.
Techopedia erklärt Scanf
Die Scanf-Funktion hat folgenden Prototyp / Signatur:
int scanf (const char * Format, …);
wo
- int (integer) ist der Rückgabetyp
- Format ist eine Zeichenfolge, die die Typbezeichner enthält (siehe unten).
- "…" (Auslassungspunkte) gibt an, dass die Funktion eine variable Anzahl von Argumenten akzeptiert. Jedes Argument muss eine Speicheradresse sein, in die das konvertierte Ergebnis geschrieben wird
Ein einfacher Typbezeichner besteht aus einem Prozentzeichen (%) und einem Buchstaben, der den Typ angibt. Nachfolgend einige Beispiele für die von scanf erkannten Typbezeichner:
- % c - Zeichen
- % d - Ganzzahl mit Vorzeichen
- % x - Ganzzahl ohne Vorzeichen im Hexadezimalformat
- % f - Gleitkomma
- % s - String
Die Funktion liest Eingaben aus dem Standardeingabestream und durchsucht dann den Inhalt von "format" nach Formatspezifizierern, wobei versucht wird, diese beiden zuzuordnen. Bei Erfolg schreibt die Funktion das Ergebnis in die übergebenen Argumente.
Zum Beispiel, wenn der Funktionsaufruf ist
scanf ("% c% d", & var1, & var2);
Wenn der Benutzer "a1" eingibt, schreibt die Funktion "a" in "var1" und "1" in "var2". Ist der Funktionsaufruf jedoch
scanf ("% x", & var);
Dieselbe Eingabe wird als hexadezimale Zahl "a1" gelesen, die 161 dezimal ist.
Die Funktion gibt den folgenden Wert zurück:
- > 0 - Die Anzahl der konvertierten und erfolgreich zugewiesenen Elemente.
- 0 - Es wurde kein Artikel zugeordnet.
- <0 - Lesefehler aufgetreten oder Dateiende (EOF) erreicht, bevor eine Zuordnung vorgenommen wurde.