21.11.2013 Aufrufe

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

MEHR ANZEIGEN
WENIGER ANZEIGEN

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

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!