Strukturen in C Spelz, Sievers, Bethke
Inhaltsfolie Definition einer Struktur (struct) Dateisysteme Binärdateien Textdateien Bearbeiten von Dateien Öffnen Lesen Schliessen Telefonbuchdatei (Programm)
Definition einer Struktur Eine Struktur ist eine Ansammlung von ein o. mehreren Variablen, möglicherweise mit verschiedenen Typen, die inter einen einzigen Datensatz zur bequemen Handhabung zusammengefasst sind. Strukturen erleichtern das objektorientierte Programmieren.
Definition einer Struktur struct punktA { int x; int y; } Etikett Schlüsselwort geschw. Klammern Komponenten (VAR im struct, lokal)
Definition einer Struktur struct kunden_typ { int kunden_nr; char vorname[20]; char nachname[20]; char adresse[30]; int plz; char ort[30]; } struct kunden_typ ein_kunde, mehrere_kunden[100]; struct kunden_type *kunde; //Zeiger auf kunde
Lesen & Bearbeiten von Dateien Bearbeitung von Dateien in 2 Modi Text-Modus gesonderte Bearbeitung von Steuerzeichen zur Textformatierung Binär-Modus gleiche Behandlung aller Zeichen HIER ZUM NACHLESEN : http://www.inf.hs-anhalt.de/Service/C-Programmierung/C-Programmierung.htm Nach fopen suchen
Öffnen von Dateien FILE* fopen(char* Name, char* Modus) unser Beispiel: FILE *datei; datei = fopen("telefondatei.txt","r") Datei wird gesucht Legt eine FILE-Struktur an gibt einen Zeiger auf die Struktur zurück Modi: r : nur lesen w : lesen & schreiben a : öffnen für anfügende Schreiboperationen am Ende einer vorhandenen Datei
Lesen von Dateien (Zeichenkette) fgetc(FILE* dat) char* fgets(char* String, int n, FILE* dat) Funktion ließt n-1 Zeichen aus dem Stream dat in die Zeichenkette String hängt ein 0x00 an Position n
Lesen von Dateien (sonstige Datentypen) datentyp fscanf(FILE* dat, char* Formatstring, Zeigerargumente) Diese Funktion wirkt genau wie scanf: Datentyp z.B. int
Schreiben in Dateien Schreiben eines Zeichen in einen Stream mit der Funktion: int fputc(int Zeichen, FILE* datei) Schreiben einer Zeichenkette in einen Stream mit der Funktion: int fputs(char* String, FILE* datei) andere Datentypen werden geschrieben mit der Funktion: int fprintf(FILE* datei, char* Formatstring, Argumente)
Schließen der Datei datentyp fclose(FILE*); char fclose(telefonbuch); int fclose(zahlensystem); .
Telefonbuchprogramm Version 1 Version 2 Version 3 (mit Filter)