Wie man Character Input / Output in C-Programmierung verwenden

Die einfachste Art der Ein- und Ausgabe in der C-Programmierung erfolgt auf Zeichenebene: Ein Zeichen geht in-one-Charakter herauskommt. Natürlich beinhaltet der Programmierung ein klein wenig zu diesem Punkt.

Ein- und Ausgabegeräte in der C-Programmierung

Die C-Sprache wurde mit dem Unix-Betriebssystem geboren. Als solches ergibt sich viele der Regeln für das Betriebssystem bezüglich Eingang und Ausgang. Diese Regeln sind ziemlich solide:

  • Eingang kommt von der Standard-Eingabegerät, stdin.

  • Die Ausgabe wird durch die Standard-Ausgabegerät, stdout erzeugt.

Auf einem Computer, ist die Standard-Eingabegerät, stdin, die Tastatur. Die Eingabe kann auch durch das Betriebssystem umgeleitet werden, so dass es von einem anderen Gerät, wie ein Modem kommen, oder es kann auch aus einer Datei kommen.

Die Standard-Ausgabegerät, stdout, ist das Display. Die Ausgabe kann umgeleitet werden, so dass es zu einem anderen Gerät geht, wie beispielsweise einem Drucker oder in einer Datei.

C-Sprache-Funktionen, die die stdin und stdout Geräte mit Ein- und Ausgangs Zugang befassen. Sie haben nicht direkt über die Tastatur oder auf dem Bildschirm ausgegeben lesen. Nun, wenn Sie Ihre Programm-Code, dies zu tun.

Fazit: Auch wenn Sie Ihre Programme Eingabe von der Tastatur zu bekommen und auf dem Bildschirm ausgegeben zu senden, müssen Sie C-Sprache I / O in Bezug auf stdin und stdout Geräte statt zu denken. Falls Sie vergessen haben, können Sie in Schwierigkeiten geraten.

Wie zu holen Zeichen mit getchar ()

Es ist Zeit für Ihren Code interaktiv zu werden. Betrachten Sie den Quellcode aus Es Charaktere Isst, die die getchar () Funktion verwendet. Diese Funktion ruft (liest) ein Zeichen von der Standardeingabe.

IT ISST CHARACTERS

# include int main () {int c-printf ( "Ich bin für ein Zeichen warten:") -c = getchar () - printf ( ". ich für die '% c' Zeichen gewartet n", c) - (0) zurückzukehren -}

Der Code in es isst Zeichen liest ein Zeichen aus der Standardeingabe durch die getchar () -Funktion auf Linie 8. Der Charakter von getchar () gespeichert und in der zurück wird c Integer-Variable.

Linie 9 zeigt die Zeichen gespeichert in c. Die printf () Funktion verwendet die% c Platzhalter einzelne Zeichen angezeigt werden soll.

Übung 1: Geben Sie den Quellcode für das Projekt ex0701, wie gezeigt in Es Charaktere isst. Erstellen und ausführen.

Die getchar () Funktion wird auf diese Weise definiert:

# include int getchar (void) -

Die Funktion hat keine Argumente, so werden die Klammern immer das Wort Leere Leer- im Grunde in diesem Beispiel so sagt. Und die getchar () Funktion erfordert die Header-Datei stdio.h mit Ihrem Quellcode enthalten sein.

getchar () gibt einen Integer-Wert, kein char-Variable. Der Compiler warnt Sie, wenn Sie vergessen. Und keine Sorge: Der int enthält einen Zeichenwert, der gerade ist, wie es funktioniert.

Übung 2: Bearbeiten Sie die Linie 9 in den Quellcode von Es Charaktere isst, so dass der% d Platzhalter anstelle von% c verwendet wird. Erstellen und ausführen.

Der Wert, der angezeigt wird, wenn Sie die Lösung laufen 1 bis Übung ist der ASCII-Wert des Charakters. Die% d zeigt, dass der Computer behandelt alle Informationen Werte, da intern statt eines Zeichenwert zu schätzen wissen. Nur wenn Informationen angezeigt wird als ein Zeichen, um es wie Text aussieht.

Technisch getchar () ist keine Funktion. Es ist ein Makro - eine Verknüpfung auf einer anderen Funktion basiert, in der Header-Datei stdio.h definiert ist. Die eigentliche Funktion Zeichen zu bekommen von der Standardeingabe ist getc () - speziell, wenn wie folgt verwendet:

c = getc (stdin) -

In diesem Beispiel getc () liest aus der Standardeingabegerät, stdin, die in der Header-Datei stdio.h definiert ist. Die Funktion gibt einen Integer-Wert, der in der Variablen gespeichert wird c.

Übung 3: Geben Sie den Quellcode für Sie Charaktere Essen, anstelle der getchar () Anweisung mit dem getc () Beispiel gerade gezeigt.

Übung 4: Schreiben Sie ein Programm, das für drei Zeichen- zum Beispiel aufgefordert:

Ich bin für drei Zeichen zu warten:

-Code in drei aufeinander folgenden getchar () Funktionen, um die Zeichen zu lesen. Formatieren Sie das Ergebnis wie folgt aus:

Die drei Zeichen sind 'a', 'b' und 'c'

wo diese Zeichen - a, b, und c - würde durch das Programm der Eingabe ersetzt werden.

Das Programm erstellen Sie in Übung 4 wartet auf drei Zeichen. Die Enter-Taste ist ein Zeichen, so dass, wenn Sie schreiben EIN, Eingeben, B, Eingeben, die drei Zeichen sind EIN, Geben Sie die Tastenzeichen, und dann B. Das ist eine gültige Eingabe, aber was wollen Sie wahrscheinlich zu geben so etwas wie ABC oder KUCHEN oder LOL und dann drücken Sie die Eingabetaste.

Standardeingabe-Stream-orientiert. Erwarten Sie nicht, Ihre C-Programme interaktiv sein. Übung 4 ist ein Beispiel dafür, wie Strom-Eingabe Work- die Enter-Taste nicht Strom enden Input- es lediglich entlang in den Strom fährt, wie jedes andere Zeichen.

So verwenden Sie die putchar () Funktion

Der böse Zwilling der getchar () Funktion ist die putchar () Funktion. Es dient dazu, ein einzelnes Zeichen aus, um die Standardausgabe zu treten. Hier ist das Format:

# include int putchar (int c) -

Um putchar () funktioniert, senden Sie es ein Zeichen, eine wörtliche Zeichen in den Klammern setzen, wie in

putchar ( 'v') -

Oder Sie können den ASCII-Wert setzen (eine ganze Zahl) für das Zeichen in den Klammern. Die Funktion gibt den Wert des Zeichens, das geschrieben ist.

PUTTEN Putchar () ARBEITEN

# include int main () {int ch-printf ( "Drücken Sie die Eingabetaste:") -getchar () - ch = 'H'-putchar (ch) CH =' i'-putchar (ch) -putchar ( '!' -return) (0) -}

Dieses Stück Code verwendet die getchar () Funktion um das Programm zu unterbrechen. Die Anweisung in Zeile 8 wartet auf Eingabe. Der Eingang, die empfangen ist, ist stored- nicht es nicht sein muss. Der Compiler beschwert sich nicht, wenn Sie den Wert aus der getchar () Funktion (oder von jeder Funktion) zurück nicht halten.

In den Zeilen 9 bis 12 zeigt die putchar () Funktion, um den Wert der Variablen CH ein Zeichen zu einer Zeit.

Ein-Zeichen-Werte werden an die zugewiesene CH Variable in Zeilen 9 und 11. Die Zuordnung wie Zuweisen von Werten funktioniert, obwohl einzelne Zeichen angegeben werden, in einfache Anführungszeichen eingeschlossen. Dieser Prozess funktioniert immer noch, auch wenn CH ist kein Zeichen Variablentyp.

In Zeile 13 zeigt putchar () direkt einen konstanten Wert. Auch hier muss das Zeichen in einfache Anführungszeichen eingeschlossen werden.

Übung 5: Erstellen Sie ein neues Projekt, ex0705, mit dem Quellcode gezeigt in Putting putchar () arbeiten. Erstellen und das Programm auszuführen.

Eine seltsame Sache, über die Ausgabe ist, dass das letzte Zeichen nicht durch eine neue Zeile folgt. Dieser Ausgang kann, ungeschickt aussehen auf einer Textanzeige so:

Übung 6: Ändern Sie den Quellcode aus Übung 5, so dass ein zusätzliches Zeichen ausgegeben, nachdem das ist! Zeichen (das Newline-Zeichen).

Menü