Eine Einführung in die Programmiersprache C und die Grundlagen ...
Eine Einführung in die Programmiersprache C und die Grundlagen ...
Eine Einführung in die Programmiersprache C und die Grundlagen ...
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
<strong>E<strong>in</strong>e</strong> <strong>E<strong>in</strong>führung</strong> <strong>in</strong> <strong>die</strong> Informatik <strong>und</strong> <strong>die</strong> <strong>Programmiersprache</strong> C<br />
19.5.4 E<strong>in</strong>- <strong>und</strong> Ausgabe von Zeichen<br />
Mit <strong>die</strong>sen Funktionen erfolgt <strong>die</strong> E<strong>in</strong>- <strong>und</strong> Ausgabe von Texten <strong>und</strong> Zeichen.<br />
<strong>in</strong>t fgetc(FILE *stream)<br />
fgetc liefert das nächste Zeichen aus stream als unsigned char (umgewandelt<br />
<strong>in</strong> <strong>in</strong>t) oder EOF bei Dateiende oder bei e<strong>in</strong>em Fehler.<br />
char *fgets(char *s, <strong>in</strong>t n, FILE *stream) fgets liest höchstens <strong>die</strong> nächsten n-1 Zeichen <strong>in</strong> s e<strong>in</strong> <strong>und</strong> hört vorher auf,<br />
wenn e<strong>in</strong> Zeilentrenner gef<strong>und</strong>en wird. Der Zeilentrenner wird im Str<strong>in</strong>g s<br />
abgelegt. Der Str<strong>in</strong>g s wird mit '\0' abgeschlossen. fgets liefert s oder NULL<br />
bei Dateiende oder bei e<strong>in</strong>em Fehler.<br />
<strong>in</strong>t fputc(<strong>in</strong>t c, FILE *stream)<br />
fputc schreibt das Zeichen c (umgewandelt <strong>in</strong> unsigned char) <strong>in</strong> stream.<br />
Die Funktion liefert das ausgegebene Zeichen oder EOF bei Fehler.<br />
<strong>in</strong>t fputs(const char *s, FILE *stream) fputs schreibt <strong>die</strong> Zeichenkette s (<strong>die</strong> '\n' nicht zu enthalten braucht) <strong>in</strong><br />
stream. Die Funktion liefert e<strong>in</strong>en nicht-negativen Wert oder EOF bei e<strong>in</strong>em<br />
Fehler. Es wird nicht automatisch e<strong>in</strong> Zeilentrenner ausgegeben (Im<br />
Gegensatz zu puts()).<br />
<strong>in</strong>t getc(FILE *stream)<br />
getc ist äquivalent zu fgetc, kann aber e<strong>in</strong> Makro se<strong>in</strong> <strong>und</strong> dann das Argument<br />
für stream mehr als e<strong>in</strong>mal bewerten.<br />
<strong>in</strong>t getchar(void)<br />
getchar ist äquivalent zu getc(std<strong>in</strong>).<br />
char *gets(char *s)<br />
gets liest <strong>die</strong> nächste Zeile von std<strong>in</strong> <strong>in</strong> das Array s <strong>und</strong> ersetzt dabei den<br />
abschliessenden Zeilentrenner durch '\0'. Die Funktion liefert s oder NULL<br />
bei Dateiende oder bei e<strong>in</strong>em Fehler.<br />
<strong>in</strong>t putc(<strong>in</strong>t c, FILE *stream)<br />
putc ist äquivalent zu fputc, kann aber e<strong>in</strong> Makro se<strong>in</strong> <strong>und</strong> dann das Argument<br />
für stream mehr als e<strong>in</strong>mal bewerten.<br />
<strong>in</strong>t putchar(<strong>in</strong>t c)<br />
putchar(c) ist äquivalent zu putc(c, stdout).<br />
<strong>in</strong>t puts(const char *s)<br />
puts schreibt <strong>die</strong> Zeichenkette s <strong>und</strong> e<strong>in</strong>en Zeilentrenner <strong>in</strong> stdout. Die<br />
Funktion liefert EOF, wenn e<strong>in</strong> Fehler passiert, andernfalls e<strong>in</strong>en nichtnegativen<br />
Wert.<br />
<strong>in</strong>t ungetc(<strong>in</strong>t c, FILE *stream) ungetc stellt c (umgewandelt <strong>in</strong> unsigned char) <strong>in</strong> stream zurück, von wo<br />
das Zeichen beim nächsten Lesevorgang wieder geholt wird. Man kann sich<br />
nur darauf verlassen, dass pro Datenstrom e<strong>in</strong> Zeichen zurückgestellt werden<br />
kann. EOF darf nicht zurückgestellt werden. ungetc liefert das zurückgestellte<br />
Zeichen oder EOF bei e<strong>in</strong>em Fehler.<br />
EOF<br />
EOF ist e<strong>in</strong>e vordef<strong>in</strong>ierte Konstante, welche das Dateiende anzeigt. Der<br />
Wert der Konstante ist System- <strong>und</strong> Compilerabhängig, ist aber meist e<strong>in</strong><br />
negativer Wert.<br />
Achtung, fgets() <strong>und</strong> fputs() behandeln Zeilentrenner ('\r\n') anders als gets() <strong>und</strong> puts(). Die f... Funktionen transportieren<br />
den Text unverändert von der Quelle zum Ziel, h<strong>in</strong>gegen entfernt gets() den Zeilentrenner am Ende der Zeile, <strong>und</strong><br />
puts() fügt e<strong>in</strong>en Zeilentrenner am Ende der Ausgabe h<strong>in</strong>zu.<br />
Gedruckt am 10.09.2009 14:23:00 Letzte Änderung am: 10. September 2009 Version 2.4.1, I. Oesch 79/147