Vorherige Seite

Eine Ebene hoch

Nächste Seite

A2.2 Die Funktion scanf

Mit der Funktion scanf können Informationen vom Benutzer des Programms abgefragt werden. Der Benutzer betätigt Tasten, die in Form von Zahlen im Rechner bearbeitet werden. Die Funktion scanf fügt die Codes zusammen und erstellt daraus eine Sinnvolle Information. Soll vom Benutzer ein Wort erfragt werden, so müssen nur die Codes der einzelnen Tasten in Zeichen umgewandelt und zusammengefügt werden. Handelt es sich dagegen um Zahlen, so müssen die einzelnen Ziffern zu einer Zahl verwandelt werden.

Die Funktion scanf ist in der Lage, alle elementaren Datentypen der Programmiersprache C zu verarbeiten. Die Funktion erwartet als Parameter eine Zeichenkette mit Informationen über die Datentypen, sowie eine Liste von Zeigern, die auf die zu beschreibenden Variablen zeigen. Allgemein sieht das so aus:

Nehmen wir an, es soll eine Zahl vom Typ int vom Benutzer abgefragt werden, und das Ergebnis soll in die Variable a geschrieben werden, so sieht das folgendermaßen aus:

Wichtig ist der Operator '&', welcher die Adresse der Variable ermittelt (siehe Abschnitt 5.2.1). Erst dadurch ist die Funktion in der Lage, den Inhalt der Variable zu verändern.

Der Formatstring sieht dem der printf-Funktion sehr ähnlich. Ein Platzhalter wird durch das Prozentzeichen '%' eingeleitet. Der Datentyp ergibt sich aus Typ (siehe Tabelle A2-1) und Modifizierer (siehe Tabelle A2-2).

Hier ein paar Beispiele:

Als Rückgabewert liefert die Funktion scanf die Anzahl der fehlerfrei eingelesenen Variablen. Diese Eigenschaft hilft beim Abfangen von Fehleingaben. Ein Beispiel für die Verwendung des Rückgabewertes findet sich in der Funktion GetInt(), die in Abschnitt A1.3 erläutert ist.