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,
|