Upload
goetz-dietrich
View
107
Download
2
Embed Size (px)
Citation preview
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 StrukturEine 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 Strukturstruct punktA {
int x;
int y;
}
Etikett
Schlüsselwort geschw. Klammern
Komponenten (VAR im struct, lokal)
Definition einer Strukturstruct 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-Modusgesonderte Bearbeitung von Steuerzeichen
zur Textformatierung
Binär-Modusgleiche Behandlung aller Zeichen
Öffnen von DateienFILE* fopen(char* Name, char* Modus)unser Beispiel:
FILE *datei; datei = fopen("telefondatei.txt","r")1. Datei wird gesucht2. Legt eine FILE-Struktur an3. gibt einen Zeiger auf die Struktur zurückModi:r : nur lesenw : lesen & schreibena : ö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:
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 Dateidatentyp fclose(FILE*);
char fclose(telefonbuch);
int fclose(zahlensystem); .
.
.
Telefonbuchprogramm Version 1 Version 2 Version 3 (mit Filter)