Input/Output Funktionen in C |
Die Standardinput/output Akte
|
Um durchzuführen, und Ausgang zu den Akten oder zum Anschluß, UNIX-Versorgungsmaterialien eingeben ein Standardpaket. Um sie zu benutzen, enthält dieses die meisten Funktionen die in diesem Abschnitt eingeführt werden, zusammen mit Definitionen der erforderten datatypes. Dein Programm muß diese Definitionen einschließen, indem es die Linie addiert, um diesen Service zu benutzen.
#include <stdio.h> naher Anfang der Programmakte. Wenn du nicht dies tust, kann der Kompilator über unbestimmte datatypes oder Funktionen sich beschweren.
|
Buchstabe Input/Output
|
Wenn du nicht den Rückholschlüssel dann betätigst, fangen sie an, keinen Eingang zu lesen, und sie drucken Buchstaben nicht auf dem Anschluß, bis es eine vollständige gedruckt zu sein gibt Linie. Dieses ist das niedrigste Niveau des Ausganges und des Einganges. Es liefert sehr exakte Steuerung, aber ist normalerweise, nützlich zu sein auch zu fiddly. Die meisten Computer führen Pufferbetrieb der Eingänge und der Ausgänge durch. Diese schließen ein:
- getchar
- putchar
|
getchar
|
getchar bringt immer den folgenden Buchstaben der Tastatureingabe als internes zurück. Das EOF (Dateiende) wird zurückgebracht, wenn es eine Störung gibt. Es ist üblich, diesen Wert gegen EOF zu vergleichen, bevor es es verwendet. So werden Fehlerbeschaffenheiten nicht richtig, wenn der Rückholwert in einer Putzfrau gespeichert wird, es sind nie gleich EOF angefaßt.
Das folgende Programm wird verwendet, um die Zahl den gelesenen Buchstaben zu zählen, bis ein EOF angetroffen ist. EOF kann durch schreibensteuerung erzeugt werden - D.
|
#include <stdio.h>
main()
{ int ch, i = 0;
while((ch = getchar()) != EOF)
i ++;
printf("%d\n", i);
}
|
|
putchar
|
putchar setzt sein Buchstabe Argument auf den Standardausgang (normalerweise der Schirm).
Das folgende Beispielprogramm wandelt jeden möglichen geschriebenen Eingang in Großbuchstaben um. Es wendet das Funktion toupper von der Zeichenumsetzung Bibliothek ctype.h an jedem Buchstaben der Reihe nach an, um dies zu tun.
|
#include <ctype.h> /* For definition of toupper */
#include <stdio.h> /* For definition of getchar, putchar, EOF */
main()
{ int ch;
while((ch = getchar()) != EOF)
putchar(toupper(ch));
}
|
|
Formatiertes Input/Output
|
Diese schließt das Folgen ein:
- printf
- scanf
|
printf
|
Dieses bietet mehr strukturierten Ausgang als das putchar an. Seine Argumente sind, im Auftrag; eine Steuerzeichenkette, die Kontrollen was gedruckt erhalten, gefolgt von einer Liste der für Eintragungen in der Steuerzeichenkette ersetzt zu werden Werte. Der Prototyp für das printf () ist:
|
|
int printf(const char *format, ...);
|
|
Um zu drucken, läßt printf eine Formatierung Zeichenkette und die tatsächlichen Variablen ein. Ein Beispiel von printf ist:
|
int x = 5;
char str[] = "abc";
char c = 'z';
float pi = 3.14;
printf("\t%d %s %f %s %c\n", x, str, pi, "WOW", c);
|
|
Mit dem Gebrauch von der Formatierung Linie, kannst du den Ausgang formatieren. Du kannst ändern, wie die bestimmte Variable in Ausgang gelegt wird, indem man die Umwandlung Spezifikation ändert. Z.B.
|
|
. läßt die Präzision zu. Auf Hin- und Herbewegungen außerdem, kann dieses zugetroffen werden. Die Nr. 5 ist auf dem zehnten Abstand, während die Nr. 10 0005 über 10 Räumen setzt. Du kannst auch hinzufügen - und + recht nach %, die Zahl gab zu bilden ausdrücklich als +0005 aus. Merken, daß der Wert von x nicht wirklich ändert. Mit anderen Worten erhältst du nicht mit %-10.4d auszugeben ausgibst nicht -0005. %e bist nützlich für das Ausgeben der Hin- und Herbewegungen mit der wissenschaftlichen Darstellung. %le für Doppelte und %Le für die langen Doppelten.
|
Um Sachen vom Eingang zu ergreifen, wird scanf () benutzt. Zwar aufpassen, scanf ist nicht größte Funktion, die C anbieten muß. Einige Leute bürsten weg vom scanf als defekte Funktion, die nicht häufig verwendet werden sollte. Der Prototyp für scanf ist:
|
Letztes Beispiel verursacht ein Viereck mit gerundeter Ecke:
|
int scanf( const char *format, ...);
|
|
Von den Daten von der Tastatur lesen, darf scanf formatiert. Wie printf läßt es eine Steuerzeichenkette, von der Liste der gelesen zu werden Einzelteile folgen. Gleichwohl scanf die Adresse der gelesen zu werden Einzelteile kennen möchte, da es eine Funktion ist, die diesen Wert ändert. Folglich werden die Namen von Variablen von u. vom Zeichen vorangegangen. Zeichenfolgen sind eine Ausnahme zu diesem. Da eine Zeichenkette bereits ein Buchstabe Zeiger ist, geben wir die Namen der Zeichenkettevariablen, die durch ein Führen unverändert sind u. Zeichenketteeintragungen steuern, die die gelesen zu werden Gleichwerte vom Prozentsatzzeichen in einer ähnlichen Weise zu ihrem printf äquivalent vorangegangen werden. Schaut printf ähnlich, aber nicht vollständig benimmt sich wie das printf. Das Beispiel nehmen:
|
|
Für ergreifende Sachen vom Eingang. Zwar aufpassen, scanf ist nicht die größte Funktion, die C anbieten muß, scanf () wird verwendet. Das folgende ist das Beispiel, das den Gebrauch von scanf zeigt:
|
int x, args;
for ( ; ; ) {
printf("Enter an integer bub: ");
if (( args = scanf("%d", &x)) == 0) {
printf("Error: not an integer\n");
continue;
} else {
if (args == 1)
printf("Read in %d\n", x);
else
break;
}
}
|
|
|
|
Schlüsselwörter:
c Tutorial, c Reihen, c atoi, c Reihe, leeres c, c Syntax, Funktionen Mathe, c Zeit, C-Sprache, c Beispiele, Format c, Rückholc, c Bibliothek, Reihe arbeitet, c Programme, ANSI c, Standardc, c msdn, c Algorithmus, c Beispiel, variable Funktionen, c Programm, Funktionen Variablen, Unix c, variables c, c Art,
|