Rheinwerk Computing < openbook > Rheinwerk Computing - Professionelle Bücher. Auch für Einsteiger.
Professionelle Bücher. Auch für Einsteiger.

Inhaltsverzeichnis
Vorwort
Vorwort des Gutachters
1 Einstieg in C
2 Das erste Programm
3 Grundlagen
4 Formatierte Ein-/Ausgabe mit »scanf()« und »printf()«
5 Basisdatentypen
6 Operatoren
7 Typumwandlung
8 Kontrollstrukturen
9 Funktionen
10 Präprozessor-Direktiven
11 Arrays
12 Zeiger (Pointer)
13 Kommandozeilenargumente
14 Dynamische Speicherverwaltung
15 Strukturen
16 Ein-/Ausgabe-Funktionen
17 Attribute von Dateien und das Arbeiten mit Verzeichnissen (nicht ANSI C)
18 Arbeiten mit variabel langen Argumentlisten – <stdarg.h>
19 Zeitroutinen
20 Weitere Headerdateien und ihre Funktionen (ANSI C)
21 Dynamische Datenstrukturen
22 Algorithmen
23 CGI mit C
24 MySQL und C
25 Netzwerkprogrammierung und Cross–Plattform-Entwicklung
26 Paralleles Rechnen
27 Sicheres Programmieren
28 Wie geht’s jetzt weiter?
A Operatoren
B Die C-Standard-Bibliothek
Stichwort

Jetzt Buch bestellen
Ihre Meinung?

Spacer
<< zurück
C von A bis Z von Jürgen Wolf
Das umfassende Handbuch
Buch: C von A bis Z

C von A bis Z
3., aktualisierte und erweiterte Auflage, geb., mit CD und Referenzkarte
1.190 S., 39,90 Euro
Rheinwerk Computing
ISBN 978-3-8362-1411-7
Pfeil B Die C-Standard-Bibliothek
Pfeil B.1 <assert.h>
Pfeil B.2 <complex.h> (C99)
Pfeil B.3 <ctype.h>
Pfeil B.4 <errno.h>
Pfeil B.5 <fenv.h> (C99)
Pfeil B.6 <float.h>
Pfeil B.7 <inttypes.h> (C99)
Pfeil B.8 <iso646.h> (NA1)
Pfeil B.9 <limits.h>
Pfeil B.10 <locale.h>
Pfeil B.11 <math.h>
Pfeil B.12 <setjmp.h>
Pfeil B.13 <signal.h>
Pfeil B.14 <stdarg.h>
Pfeil B.15 <stdbool.h> (C99)
Pfeil B.16 <stddef.h>
Pfeil B.17 <stdint.h> (C99)
Pfeil B.18 <stdio.h>
Pfeil B.19 <stdlib.h>
Pfeil B.20 <string.h>
Pfeil B.21 <tgmath.h> (C99)
Pfeil B.22 <time.h>
Pfeil B.23 <wchar.h> (NA1)
Pfeil B.24 <wctype.h> (NA1)


Rheinwerk Computing - Zum Seitenanfang

B.18 <stdio.h> topZur vorigen Überschrift

Die Headerdatei <stdio.h> deklariert eine Menge grundlegender Funktionen, Makros und Typen für die Ein-/Ausgabe. Zunächst ein Überblick über die Funktionen in <stdio.h>:


Tabelle B.37 Standard-Ein-/Ausgabe-Funktionen

Syntax Bedeutung
FILE *fopen(
 const char * restrict pfad,
 const char * restrict modus );

Datei öffnen

FILE *freopen(
 const char * restrict pfad,
 const char * restrict modus,
 FILE * restrict fz );

Datei öffnen mit bereits vorhandenem Stream

int fflush(FILE *fz);

Inhalt des Datei-Puffers in einen Stream schreiben

int fclose(FILE *fz);

Datei schließen

int remove(
   const char *pfadname );

Datei löschen

int rename(
   const char *alt,
   const char *neu );

Datei umbenennen

FILE *tmpfile(void);

temporäre Datei erzeugen und automatisch wieder löschen

char *tmpnam(char *ptr);

eindeutigen Namen für eine temporäre Datei erzeugen

void setbuf(
   FILE * restrict fz,
   char * restrict puffer );

einer Datei einen Puffer zuordnen

int setvbuf(
   FILE * restrict fz,
   char * restrict puffer,
   int modus, size_t size );

einer geöffneten Datei einen Puffer zuordnen

int fscanf(
 FILE * restrict fz,
 const char * restrict format,
 ... );

formatiert aus einem Stream lesen

int scanf(
 const char * restrict format,
 ... );

formatiert aus der Standardeingabe (stdin) lesen

int sscanf(
 const char * restrict puffer,
 const char * restrict format,
 ... );

formatiert aus einem String lesen

int fprintf(
 FILE * restrict fz,
 const char * restrict format,
 ...);

formatiert in einen Stream schreiben

int printf(
 const char * restrict format,
 ... );

formatiert auf die Standardausgabe (stdout) schreiben

int sprintf(
 char * restrict puffer,
 const char * restrict format,
 ... );

formatiert in einen String schreiben

int vfprintf(
  FILE * restrict fz,
  const char * restrict format,
  va_list arg);

formatiert in einen Stream schreiben mit Argumentzeiger

int vprintf(
   const char * restrict format,
   va_list arg);

formatiert auf stdout schreiben mit Argumentzeiger

int vsprintf(
  char * restrict puffer,
  const char * restrict format,
  va_list arg);

formatiert in einen String schreiben mit Argumentzeiger

int getchar(void);

ein Zeichen von der Standardeingabe (stdin) einlesen

int putchar(int ch);

ein Zeichen auf die Standardausgabe (stdout) schreiben

int fgetc(FILE *fz);
int getc (FILE *fz);

ein Zeichen von einem Stream einlesen

int fputc(int ch, FILE *fz);
int putc(int ch, FILE *fz);

ein Zeichen in einen Stream schreiben

int ungetc(
      int zeichen,
      FILE *fz);

ein gelesenes Zeichen in den Stream zurückschieben

int gets(char *puffer);

eine ganze Zeile von der Standardeingabe einlesen

(Unsichere Funktion. Bessere Alternative: fgets())

int puts(const char *puffer);

eine ganze Zeile auf die Standardausgabe schreiben

int fgets(
  char * restrict puffer, int n,
  FILE * restrict fz);

eine ganze Zeile aus einem Stream lesen

int fputs(
   const char * restrict puffer,
   FILE * restrict fz);

eine ganze Zeile in einen Stream schreiben

size_t fread(
   void * restrict ptr,
   size_t size, size_t n_obj,
   FILE * restrict fz);

binäres Lesen ganzer Blöcke

size_t fwrite(
   const void * restrict p,
   size_t siz, size_t n_obj,
   FILE * restrict fz);

binäres Schreiben ganzer Blöcke

int fseek(
       FILE *fz,
       long int offset,
       int origin);

einen Stream positionieren

long int ftell(FILE *fz);

die Position eines Streams abfragen

int fgetpos(
     FILE *fz,
     fpos_t * restrict pos);

die Position eines Streams speichern

int fsetpos(
     FILE *fz,
     const fpos_t *pos);

einen Stream positionieren (zweite Möglichkeit)

void rewind(FILE *fz);

den Stream zum Dateianfang zurücksetzen

int feof(FILE *fz);

EOF-Flag überprüfen, ob der Stream am Dateiende ist

int ferror(FILE *fz);

Fehler-Flag überprüfen, ob beim Stream ein Fehler auftrat

void clearerr(FILE *fz);

das Fehler- und EOF-Flag löschen

void perror(const char *s);

Ausgabe einer zu errno gehörigen Fehlermeldung


Folgende Makros sind in der Headerdatei <stdio.h> meistens als positive Integer-Konstanten definiert:


Tabelle B.38 Makro in der Headerdatei <stdio.h>

Makro Beschreibung
BUFSIZ

die Größe des Puffers (in Byte), der von der Funktion setbuf() verwendet wird

_IOFBF

Ein-/Ausgabe wird voll gepuffert. Die Konstante wird gewöhnlich von der Funktion setvbuf() verwendet.

_IOLBF

Ein-/Ausgabe wird zeilenweise gepuffert. Die Konstante wird gewöhnlich von der Funktion setvbuf() verwendet.

_IONBF

Ein-/Ausgabe wird gar nicht gepuffert. Die Konstante wird gewöhnlich von der Funktion setvbuf() verwendet.

L_tmpnam

die Größe für ein char-Array, um einen temporären Dateinamen mit der Funktion tmpnam() zu generieren

SEEK_CUR

Schreib/Lese-Deskriptor von der aktuellen Position versetzen. Diese Konstante wird von der Funktion fseek() als drittes Argument verwendet.

SEEK_END

Schreib/Lese-Deskriptor vom Dateiende um eine bestimmte Anzahl von Bytes versetzen. Diese Konstante wird von der Funktion fseek() als drittes Argument verwendet.

SEEK_SET

Schreib/Lese-Deskriptor vom Dateianfang versetzen. Diese Konstante wird von der Funktion fseek() als drittes Argument verwendet.

FILENAME_MAX

die Größe für ein char-Array, um den längsten Namen einer Datei zu speichern, der beim Öffnen einer Datei verwendet werden kann

FOPEN_MAX

Anzahl der Dateien, die von einem Programm gleichzeitig geöffnet sein dürfen

TMP_MAX

Anzahl eindeutiger Dateinamen, die mit der Funktion tmpnam() erzeugt werden können

EOF

(End Of File) Diese Konstante wird bei unterschiedlichen Funktionen zurückgegeben, wenn beispielsweise ein Fehler aufgetreten ist oder beim Lesen das Dateiende erreicht wurde. Die Konstante ist als negativer Wert (-1) vom Typ int definiert.

NULL

Auch diese Headerdatei definiert den NULL-Zeiger.


Folgende drei Typen sind in <stdio.h> definiert:


Tabelle B.39 Typen, die in <stdio.h> definiert sind

Typ Beschreibung
FILE

Der FILE-Zeiger ist eine Struktur, die alle Informationen für die höheren Datei-Ein-/Ausgabe-Funktionen enthält. Dies beinhaltet u. a. den Puffer (die Anfangsadresse, aktuelle Position, Größe), den File-Deskriptor, die Position des Schreib- oder Lesezeigers, die Fehler- und EOF-Flags.

fpos_t

Der Typ wird von der Funktion fgetpos() zurückgegeben und speichert alle Informationen zur aktuellen Dateiposition. Später kann mit dieser Variablen mithilfe der Funktion fsetpos() auf diese Position (zurück-)gesprungen werden.

size_t

Ein ganzzahliger unsigned-Typ, der als Ergebnis von sizeof-Operationen verwendet wird. Der Typ ist ebenfalls in mehreren Headerdateien der Standard-Bibliothek definiert.


Die folgenden drei Standard-Streams sind alle als Zeiger auf FILE im Header <stdio.h> definiert:


Tabelle B.40 Standardstreams in der Headerdatei <stdio.h>

Stream Beschreibung
stdin

ein Zeiger auf FILE, der mit der Standard-Eingabe verbunden ist (für gewöhnlich ist das die Tastatur)

stdout

ein Zeiger auf FILE, der mit der Standard-Ausgabe verbunden ist (für gewöhnlich ist das der Bildschirm)

stderr

ein Zeiger auf FILE, der mit der Standard-Fehlerausgabe verbunden ist (für gewöhnlich ist das der Bildschirm)




Ihre Meinung

Wie hat Ihnen das Openbook gefallen? Wir freuen uns immer über Ihre Rückmeldung. Schreiben Sie uns gerne Ihr Feedback als E-Mail an kommunikation@rheinwerk-verlag.de.

<< zurück
  
  Zum Rheinwerk-Shop
Zum Rheinwerk-Shop: C von A bis Z

 C von A bis Z
Jetzt bestellen


 Ihre Meinung?
Wie hat Ihnen das Openbook gefallen?
Ihre Meinung

 Buchtipps
Zum Rheinwerk-Shop: C/C++






 C/C++


Zum Rheinwerk-Shop: Einstieg in C






 Einstieg in C


Zum Rheinwerk-Shop: Schrödinger programmiert C++






 Schrödinger
 programmiert C++


Zum Rheinwerk-Shop: C++ Handbuch






 C++ Handbuch


Zum Rheinwerk-Shop: IT-Handbuch für Fachinformatiker






 IT-Handbuch für
 Fachinformatiker


 Lieferung
Versandkostenfrei bestellen in Deutschland, Österreich und der Schweiz
InfoInfo




Copyright © Rheinwerk Verlag GmbH 2009
Für Ihren privaten Gebrauch dürfen Sie die Online-Version natürlich ausdrucken. Ansonsten unterliegt das Openbook denselben Bestimmungen, wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt.
Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.


Nutzungsbestimmungen | Datenschutz | Impressum

Rheinwerk Verlag GmbH, Rheinwerkallee 4, 53227 Bonn, Tel.: 0228.42150.0, Fax 0228.42150.77, service@rheinwerk-verlag.de

Cookie-Einstellungen ändern