Physische Dateistrukturen

Größe: px
Ab Seite anzeigen:

Download "Physische Dateistrukturen"

Transkript

1 Direktzugriffsdateien Seite 1 Charakteristik: Folge von Elementen (physischen Datensätzen) Länge (Speicherbedarf) dynamisch Begriffe: x = < > leere Datei x x = <x1> Datei x mit einem Datensatz x1 x = <x1, x2,..., xn> Datei x mit n Datensätzen first (x) = x1 1. Satz der nichtleeren Datei x rest (x) = <x2,..., xn> Datei x ohne ihren 1. Satz x y = <x1, x2,..., xn, y1, y2,..., ym> Verkettung zweier Dateien x und y Zugriff: xl xr x = xl xr Positionszeiger *x Seite 2

2 Datei-Operationen Voraussetzung: Jedem File x zugeordnet existiert ein Puffer x^ der Länge eines Elementes (physischen Datensatzes), in den beim Lesen aus dem File bzw. beim Schreiben in das File ein physischer Datensatz übertragen wird. Dateioperationen: rewrite (x): erstellt eine leere Sequenz x=< >; überschreibt die vorhandene Datei x und initialisiert das Schreiben einer neuen put (x): erweitert die Sequenz x; hängt den Inhalt von x^ an x an reset (x): initialisiert die Inspektion von x; liefert xl=< >; x^=first(x); xr=x; get (x): schreitet zum nächsten Satz von x fort; realisiert xl= xl first(xr); x^ = first(rest(xr)); xr = rest(xr); eof (x): erkennt das Datei-Ende von x; realisiert eof(x)=(xr==<>) Seite 3 Definitionsdatei stdio.h deklariert FILE als Datentyp Standardfiles sind FILE *stdin; // Tastatur FILE *stdout; // Bildschirm FILE *stderr; // Fehlerausgabe, normalerw. Bildschirm Seite 4

3 Öffnen eines Files: FILE *fopen (const char *filename, const char *mode); liefert bei Erfolg Zeiger auf eine Struktur FILE, sonst NULL; für mode gilt (Standard ist Textmodus; möglich auch Binärmodus) "r" Lesen, Datei muss existieren "w" Schreiben, neue Datei wird erzeugt "a" Anhängen, vorhandene Datei wird erweitert "r+" Lesen und Schreiben, Datei muss existieren) w+ Neues File, Lesen und Schreiben a+ Lesen und Anhängen Schließen eines Files: int fclose (FILE *fp) liefert bei Erfolg 0, sonst EOF Seite 5 Lesen und Schreiben einzelner Zeichen: int fgetc (FILE *f); int getc (FILE *f); int fputc (int c, FILE *f); int putc (int c, FILE *f); Makro Makro int putchar (int c); äquivalent zu putc (c, stdout) int getchar (void); äquivalent zu getc (stdin) int ungetc (int c, FILE *f); stellt Zeichen in den Puffer zurück Seite 6

4 Lesen und Schreiben von Zeichenketten: char *gets (char *s); liest vom Terminal eine Zeichenkette bis zum Zeilentrennzeichen '\n' char *fgets (char *line, int n, FILE *f); liest aus dem Eingabestrom f maximal n Zeichen, das Zeilentrennzeichen '\n' wird mit abgespeichert int puts (const char *s); gibt eine Zeichenkette aus und beendet sie mit '\n' int fputs (const char *s, FILE *f) gibt in den Ausgabestrom f aus ohne Zeilentrenner am Ende Formatierte Ein- und Ausgabe: fscanf (FILE *f,const char *format[,argument]...); fprintf(file *f,const char *format[,argument]...); Seite 7 Objektweise Ein- und Ausgabe: size_t fread (void *a_ptr,size_t el_size,size_t n,file *f); liest aus File f in den Vektor a_ptr höchstens n Objekte der Größe el_size; Ergebnis ist die Anzahl der gelesenen Objekte; Zustand des Datenstroms muß mit feof und ferror überwacht werden size_t fwrite (const void *a_ptr,size_t el_size,size_t n,file f); schreibt n Objekte aus dem Vektor a_ptr in das File f; Ergebnis ist die Zahl der ausgegebenen Objekte, im Fehlerfall kleiner n Seite 8

5 Speicherung Begriffe: logischer Satz Datensatz aus logisch zusammengehörigen Datenfeldern Block physischer Datensatz Blockung Vereinigung mehrerer logischer Datensätze zu einem physischen Datensatz (Block) Blockungsfaktor Anzahl logischer Datensätze pro Block Seite 9 Speicherungsformen: ungeblockt, feste Satzlänge Speicherung hdr key rec1 kl key rec2 kl key rec3 kl key rec4 kl eof ungeblockt, variable Satzlänge hdr key bl rl rec1 kl key bl rl rec2 kl key bl rl rec3 kl key bl rl rec4 kl geblockt, feste Satzlänge hdr key key rec1 key rec2 key rec3 kl key key rec4 key rec5 geblockt, variable Satzlänge hdr key bl rl key rec1 rl key rec2 rl key rec3 rl key rec4 kl Legende: hdr - Datei-Header; bl - Blocklänge; rl - Satzlänge key - Schlüssel; rec - Datensatz; kl - Blocklücke; eof Datei-Ende Seite 10

6 Direktzugriffsdateien Begriffe Charakteristik: Der Speicherbereich der Datei ist in eine Folge von Zellen fester Länge eingeteilt. Jede Zelle hat eine Nummer (Adresse). In einer Zelle wird genau ein physischer Datensatz (Block) gespeichert. Ein physischer Datensatz (Block) kann mehrere logische Datensätze aufnehmen. Jeder logische Datensatz besitzt einen eindeutigen Schlüssel. Zu jedem logischen Datensatz kann zu jeder Zeit über seine Blockadresse (wahlfrei) zugegriffen werden. Adressierung: Zuordnung von Adresse zum Schlüssel = gestreute Speicherung (hash coding, hashing technique, hashing) Seite 11 Direktzugriffsdateien normalerweise immer sequentielle Dateien, Direktzugriff aber über Verschieben des Filepointers möglich Positionieren in einer Datei (1): int fseek (FILE *f, long offset, int origin); setzt Dateiposition für nächste E/A-Operation auf offset ab origin Werte für origin sind SEEK_SET = Dateianfang; SEEK_CUR = aktuelle Position; SEEK_END = Dateiende long ftell (FILE *f); liefert die aktuelle Dateiposition, bei Fehler -1L Seite 12

7 Direktzugriffsdateien Positionieren in einer Datei (2): void rewind (FILE *f); setzt die Position auf den Dateianfang; ist äquivalent zu fseek (f, 0L, SEEK_SET); clearerr (f); int fgetpos (FILE *f, fpos_t *pos); speichert aktuelle Dateiposition bei pos; Ergebnis bei Fehler!= Null int fsetpos (FILE *f, const fpos_t *pos); setzt aktuelle Dateiposition wieder auf früher durch fgetpos ermittelten Wert pos; Ergebnis bei Fehler!= Null Seite 13 Direktzugriffsdateien Fehlerbehandlung: void clearerr (FILE *f); löscht die Fehleranzeigen für f (einschl. EOF) int feof (FILE *f); liefert einen von Null verschiedenen Wert am Dateiende int ferror (FILE *f); liefert einen von Null verschiedenen Wert, falls ein Fehlerindikator gesetzt ist void perror (const char *s); gibt einen Fehlertext s auf stderr aus Seite 14

Ein-/Ausgabe, Dateisystem. Kapitel 9: Ein-/Ausgabe. Programmieren in C für Elektrotechniker. Programmieren in C. Dateisystem. Programmieren in C

Ein-/Ausgabe, Dateisystem. Kapitel 9: Ein-/Ausgabe. Programmieren in C für Elektrotechniker. Programmieren in C. Dateisystem. Programmieren in C für Elektrotechniker Kapitel 9: Dateisystem, Dateisystem E/A-Konzept in UNIX und C UNIX (und damit auch C) verwendet Datenströme (streams) als Konzept zur Verbindung von Programmen mit E/A-Geräten und

Mehr

182. stdio. 183. stdio. Eingabe. Ausgabe. Typisch für Zeileneingabe und Analyse: #include <stdio.h>

182. stdio. 183. stdio. Eingabe. Ausgabe. Typisch für Zeileneingabe und Analyse: #include <stdio.h> 182. stdio Eingabe int getchar (), getc (FILE * fp), fgetc (FILE * fp); char * gets (char * buf), * fgets (char * buf, int len, FILE * fp); int scanf (const char * fmt,...); int fscanf (FILE * fp, const

Mehr

Dateioperationen Fachhochschule Würzburg-Schweinfurt Prof. Dr. Martin Ochs. Abspeichern und Einlesen von Texten (Strings) in Dateien

Dateioperationen Fachhochschule Würzburg-Schweinfurt Prof. Dr. Martin Ochs. Abspeichern und Einlesen von Texten (Strings) in Dateien Informatik I SS 2003 Dateioperationen 1 Textdateien, Öffnen Abspeichern und Einlesen von Texten (Strings) in Dateien 1. Das Öffnen einer Datei a) Deklaration eines Zeigers auf eine Datei FILE *pfile; b)

Mehr

Programmiersprachen Einführung in C

Programmiersprachen Einführung in C Programmiersprachen Einführung in C Teil 10: Arbeiten mit Prof. Dr. Gliederung Programmiersprachen 1. Von der Maschinensprache zu C 2. Die Struktur von C-Programmen 3. Variable und Datentypen in C 4. Bildschirm

Mehr

high level I/O/ low level I/O

high level I/O/ low level I/O Dateiarbeit in C Datei(engl. File) ist ein Menge von Daten (Bytes) auf einem geeigneten Datenträger. Festplatte USB-Stick Früher: Magnetband, Lochband, Lochkartenstapel, Diskette Eine Datei enthält Daten

Mehr

Dateien (1) Datenströme

Dateien (1) Datenströme Dateien (1) Datenströme Standardbibliothek bietet sogenannte Datenströme (engl. Streams) Objekte, in die Informationen geschrieben oder von denen Daten gelesen werden können Zum Arbeiten mit Dateien benötigt

Mehr

Ausgewählte Bibliotheksfunktionen

Ausgewählte Bibliotheksfunktionen Ausgewählte Bibliotheksfunktionen fopen überträgt den Inhalt des Dateipuffers: Schreibmodus: Dateipuffer wird geschrieben Lesemodus: Puffer wird geleert if (fflush(fp) == EOF) printf("puffer nicht geschrieben\n");

Mehr

Dateien. INE2, Mittwoch / TE402 M. Thaler, Office TG208. ZHAW, M. Thaler, K. Rege, G.

Dateien. INE2, Mittwoch / TE402 M. Thaler, Office TG208.  ZHAW, M. Thaler, K. Rege, G. Dateien INE2, Mittwoch 8.00-9.35 / TE402 M. Thaler, tham@zhaw.ch Office TG208 http://www.zhaw.ch/~tham 1 Um was gehtes? Informationsaustausch Programme tauschen Information mit Umgebung über - Kommandozeilen-Argumente

Mehr

Dateien. INE2 M. Thaler, Office TG208. ZHAW, M. Thaler, K. Rege, G. Burkert

Dateien. INE2 M. Thaler, Office TG208.  ZHAW, M. Thaler, K. Rege, G. Burkert Dateien INE2 M. Thaler, tham@zhaw.ch Office TG208 http://www.zhaw.ch/~tham 1 Um was gehtes? Informationsaustausch Programme tauschen Information mit Umgebung über - Kommandozeilen-Argumente - Kanäle bzw.

Mehr

Beispiel / Übung: Prof. Dr. A. Christidis WS 2012/13

Beispiel / Übung: Prof. Dr. A. Christidis WS 2012/13 Beispiel / Übung: Erstellen Sie ein kurzes, plattform-unabhängiges C-Programm ( Konsolenanwendung ), das sich in die Reihe bereits gestarteter Kopien einordnet, sich nach 20 sec (Rechenzeit) abmeldet und

Mehr

Dateizugriff unter C

Dateizugriff unter C Begriffe Dateizugriff unter C Datei = sequentielle Ansammlung von Datenbytes, z.b. auf einer Festplatte Auch Bildschirm und Tastatur werden wie Dateien behandelt: Bildschirm ist die Datei stdout Tastatur

Mehr

Programmieren 1 C Überblick

Programmieren 1 C Überblick Programmieren 1 C Überblick 1. Einleitung 2. Graphische Darstellung von Algorithmen 3. Syntax und Semantik 4. Einstieg in C: Einfache Sprachkonstrukte und allgemeiner Programmaufbau 5. Skalare Standarddatentypen

Mehr

Teil 7: Präprozessor und Ein-/Ausgabe Gliederung

Teil 7: Präprozessor und Ein-/Ausgabe Gliederung Teil 7: Präprozessor und Ein-/Ausgabe Gliederung Präprozessor Streams Dateioperationen Kommandozeilenparameter Präprozessor Streams Dateioperationen Kommandozeilenparameter Präprozessor 8.2 Präprozessor

Mehr

file:///h:/dokumente/_fh/ ws /etinfoii/vorlesung/infoii...

file:///h:/dokumente/_fh/ ws /etinfoii/vorlesung/infoii... 7 Dateien Um Daten dauerhaft zu sichern, müssen sie auf den Sekundärspeicher (die Festplatte) abgespeichert werden. Beim Umgang mit Peripheriegeräten unter Windows und UNIX ist zu beachten Die Verbindung

Mehr

Dr. Monika Meiler. Inhalt

Dr. Monika Meiler. Inhalt Inhalt 15 Dateiverwaltung, Ein- und Ausgabe...15-2 15.1 Grundlagen...15-3 15.2 Arbeit mit Dateien...15-5 15.2.1 Der Datentyp FILE... 15-5 15.2.2 Öffnen und Schießen von Dateien... 15-6 15.2.3 Verwaltung

Mehr

8. Arbeiten mit Dateien

8. Arbeiten mit Dateien 8. Arbeiten mit Dateien www.c-programme.de Stefan Thiemert Kapitel 8 - Seite 1 von 6 8. 1. Allgemeines Bisher haben wir Daten, die wir in unseren Programmen erzeugt und verarbeitet haben, nur über den

Mehr

Im Windows Betriebssystem sind Dateien eindeutig gekennzeichnet durch ihren Pfad, Dateinamen und nach einem Punkt die Dateierweiterung.

Im Windows Betriebssystem sind Dateien eindeutig gekennzeichnet durch ihren Pfad, Dateinamen und nach einem Punkt die Dateierweiterung. Dateioperationen Seite 1 von 12 Im Windows Betriebssystem sind Dateien eindeutig gekennzeichnet durch ihren Pfad, Dateinamen und nach einem Punkt die Dateierweiterung. z.b.: c:\testdateien\text.dat //Datendatei

Mehr

File I/O. Persistieren von Daten. Gastvorlesung Ralph Erdt erdt (bei) informatik.fh-wiesbaden.de

File I/O. Persistieren von Daten. Gastvorlesung Ralph Erdt erdt (bei) informatik.fh-wiesbaden.de File I/O, Ralph Erdt, erdt (bei) informatik.fh-wiesbaden.de Seite 1 File I/O Persistieren von Daten Gastvorlesung - 18.01.10 Ralph Erdt erdt (bei) informatik.fh-wiesbaden.de File I/O, Ralph Erdt, erdt

Mehr

E-/A-Funktionalität nicht Teil der Programmiersprache

E-/A-Funktionalität nicht Teil der Programmiersprache C Ein-/Ausgabe C Ein-/Ausgabe C.1 Überblick E-/A-Funktionalität nicht Teil der Programmiersprache Realisisierung durch "normale" Funktionen Bestandteil der Standard-Funktionsbibliothek einfache Programmierschnittstelle

Mehr

Einführung in die Programmierung für Physiker. Die Programmiersprache C Ein- und Ausgabe

Einführung in die Programmierung für Physiker. Die Programmiersprache C Ein- und Ausgabe Einführung in die Programmierung für Physiker Die Programmiersprache C Ein- und Ausgabe Marc Wagner Institut für theoretische Physik Johann Wolfgang Goethe-Universität Frankfurt am Main WS 2017/18 putchar,

Mehr

Input, Output, Dateien

Input, Output, Dateien Input, Output, Dateien C-Kurs 2013, 1. Tutorium Armelle Vérité http://wiki.freitagsrunde.org 8. September 2013 This work is licensed under the Creative Commons Attribution-ShareAlike 3.0 License. 1 / 21

Mehr

Programmieren in C. Die C-Standardbibliothek: Datei Ein- und Ausgabe. Prof. Dr. Nikolaus Wulff

Programmieren in C. Die C-Standardbibliothek: Datei Ein- und Ausgabe. Prof. Dr. Nikolaus Wulff Programmieren in C Die C-Standardbibliothek: Datei Ein- und Ausgabe Prof. Dr. Nikolaus Wulff Das Dateisystem In C erfolgt die gesamte Ein- und Ausgabe durch Lesen oder Schreiben von Strömen (stream). Periphere

Mehr

Einführung in die Programmierung für Physiker. Die Programmiersprache C Ein- und Ausgabe

Einführung in die Programmierung für Physiker. Die Programmiersprache C Ein- und Ausgabe Einführung in die Programmierung für Physiker Die Programmiersprache C Ein- und Ausgabe Marc Wagner Institut für theoretische Physik Johann Wolfgang Goethe-Universität Frankfurt am Main WS 2013/14 putchar,

Mehr

und noch ein Spiel Programmiersprache(n) für technische Anwendungen Dipl.math Gerd H. Neugebauer

und noch ein Spiel Programmiersprache(n) für technische Anwendungen Dipl.math Gerd H. Neugebauer Tic Tac Toe (auch: Drei gewinnt) ist ein klassisches, einfaches Zweipersonen Strategiespiel, dessen Geschichte sich bis ins 12. Jahrhundert v. Chr. zurückverfolgen lässt. Tic Tac Toe war auch eines der

Mehr

Informatik für Ingenieure (InfIng)

Informatik für Ingenieure (InfIng) Informatik für Ingenieure (InfIng) C - Dateien Doz. Dipl.-Ing. H. Hiller WS 2012/13 Flüchtiger und Nicht-flüchtiger Speicher Daten speichern RAM flüchtiger Speicher Programm blende40 - Fotolia.com Festplatte

Mehr

Modellierung und Programmierung

Modellierung und Programmierung Modellierung und Programmierung Dr. Martin Riplinger 9.1.2013 IAM Institut für Angewandte Mathematik Fortgeschrittene Ein- und Ausgabe Bisher: Ein- und Ausgabe nur über die Kommandozeile Erweiterung: Konzept

Mehr

FILE *fp; char fname[100];... fp = fopen (fname, rb ); if( fp == NULL ) { perror( fopen );... } // Fehlernachricht auf letzten Fehler, der aufkam

FILE *fp; char fname[100];... fp = fopen (fname, rb ); if( fp == NULL ) { perror( fopen );... } // Fehlernachricht auf letzten Fehler, der aufkam Aktuelle Fileposition ermitteln long pos; pos=ftell(fp); //aktuelle Bytenummer Filelaenge in Bytes fseek(fp,0,seek_end); pos=ftell(fp); Fileendeerkennung int rc; rc = feof (fp) //!= 0 bei Fileende // ==

Mehr

Übersicht. Informatik 1 Teil 10 Dateien

Übersicht. Informatik 1 Teil 10 Dateien Übersicht 10.1 Permanente Datenspeicher 10.2 Festplatte (Bild) 10.3 Dateien 10.4 Dateien öffnen 10.5 Der Filepointer 10.6 Schreiben in Dateien - die Funktion fprintf( ) 10.7 Lesen aus Dateien die Funktion

Mehr

INE1 Ein-/Ausgabe, Dateien (Files) Einführung Datenstruktur und Operationen Textdateien Binärdateien Standard Streams

INE1 Ein-/Ausgabe, Dateien (Files) Einführung Datenstruktur und Operationen Textdateien Binärdateien Standard Streams INE1 Ein-/Ausgabe, Dateien (Files) Einführung Datenstruktur und Operationen Textdateien Binärdateien Standard Streams Einführung 2 von 42 Einführung Wie kann ein Programm mit seiner Umgebung Information

Mehr

Inhalt Streams Eingabe / Ausgbe in C Dateizugriff in C Eingabe / Ausgabe in C++ Dateizugriff in C++ Error Handling

Inhalt Streams Eingabe / Ausgbe in C Dateizugriff in C Eingabe / Ausgabe in C++ Dateizugriff in C++ Error Handling Input / Output in C, C++ Inhalt Streams Eingabe / Ausgbe in C Dateizugriff in C Eingabe / Ausgabe in C++ Dateizugriff in C++ Error Handling Page 1 Ausgaben in C,C++ - generell Fuer C basierte Ausgaben:

Mehr

Tafelübung zu BS 4. Dateioperationen

Tafelübung zu BS 4. Dateioperationen Tafelübung zu BS 4. Dateioperationen Olaf Spinczyk Arbeitsgruppe Eingebettete Systemsoftware Lehrstuhl für Informatik 12 TU Dortmund olaf.spinczyk@tu-dortmund.de http://ess.cs.uni-dortmund.de/~os/ http://ess.cs.tu-dortmund.de/de/teaching/ss2013/bs/

Mehr

Dateiverarbeitung. 2006 Pearson Education, Inc. All rights reserved.

Dateiverarbeitung. 2006 Pearson Education, Inc. All rights reserved. 1 9 Dateiverarbeitung 2 9.1 Einführung 9.2 Die Datenhierarchie 9.3 Daten und Ströme 9.4 Erzeugung einer sequenziellen Datei 9.5 Daten von einer sequenziellen Datei lesen 9.6 Eine sequenzielle Datei aktualisieren

Mehr

Strukturen können wie normale Variablen an Funktionen übergeben werden. Strukturen können auch Ergebnis einer Funktion sein

Strukturen können wie normale Variablen an Funktionen übergeben werden. Strukturen können auch Ergebnis einer Funktion sein 19 Strukturen 19.2Strukturen als Funktionsparameter 19.2 Strukturen als Funktionsparameter Strukturen können wie normale Variablen an Funktionen übergeben werden Übergabesemantik: call by value Funktion

Mehr

1. Allgemeine Datei (Binärdatei mit formatierten Inhalt)

1. Allgemeine Datei (Binärdatei mit formatierten Inhalt) Datei ein komplexer Datentyp, der primär zur dauerhaften (persistenten) Speicherung von Daten auf einen externen Datenträger dient die wichtigsten Operationen, die mit Dateien durchgeführt werden, sind

Mehr

Dateiverarbeitung Pearson Education, Inc. All rights reserved.

Dateiverarbeitung Pearson Education, Inc. All rights reserved. 1 9 Dateiverarbeitung 2 9.1 Einführung 9.2 Die Datenhierarchie 9.3 Daten und Ströme 9.4 Erzeugung einer sequenziellen Datei 9.5 Daten von einer sequenziellen Datei lesen 9.6 Eine sequenzielle Datei aktualisieren

Mehr

2. Programmierung in C

2. Programmierung in C 2. Programmierung in C Inhalt: Überblick über Programmiersprachen, Allgemeines zur Sprache C C: Basisdatentypen, Variablen, Konstanten Operatoren, Ausdrücke und Anweisungen Kontrollstrukturen (Steuerfluss)

Mehr

Programmierung mit C Datei-Ein- und Ausgabe

Programmierung mit C Datei-Ein- und Ausgabe Programmierung mit C Datei-Ein- und Ausgabe Datei-Ein- und Ausgabe Datei Datenobjekt, bei dem die Daten auf einem externen Datenträger (z. B. Festplatte) abgelegt werden Das Öffnen einer Datei erzeugt

Mehr

Kompaktkurs Einführung in die Programmierung. 11. Ein- und Ausgabe

Kompaktkurs Einführung in die Programmierung. 11. Ein- und Ausgabe Kompaktkurs Einführung in die Programmierung 11. Ein- und Ausgabe Stefan Zimmer 12.3.2008-1- Ein-Ausgabefunktionen in stdio.h Diese Woche geht es um die Funktionen zum Ausgeben und Einlesen von Werten

Mehr

Dateien lesen und schreiben mit php

Dateien lesen und schreiben mit php Dateien lesen und schreiben mit php (fopen(), fgets(), fread(), fwrite, fclose(), fputs(), file_get_contents()) Der Dateizugriff (anfügen und lesen) fopen(filename, mode) Öffnen vom lokalen Dateisystem

Mehr

Algorithmen & Programmierung. Persistenz - Arbeit mit Dateien

Algorithmen & Programmierung. Persistenz - Arbeit mit Dateien Algorithmen & Programmierung Persistenz - Arbeit mit Dateien Flüchtige und nichtflüchtige Daten Situation Wir haben bisher nur Programme geschrieben, deren Berechnungsergebnisse und Dateneingaben nach

Mehr

Programmieren in C++

Programmieren in C++ Programmieren in C++ SS 2012 Vorlesung 7, Dienstag 19. Juni 2012 (Eingabe/Ausgabe, Optionen, ASSERT_DEATH) Prof. Dr. Hannah Bast Lehrstuhl für Algorithmen und Datenstrukturen Institut für Informatik Universität

Mehr

Einführung in die Programmiersprache C

Einführung in die Programmiersprache C Einführung in die Programmiersprache C 9 I/O (2) Alexander Sczyrba Robert Homann Georg Sauthoff Universität Bielefeld, Technische Fakultät UNIX I/O UNIX I/O: ähnlich wie Standard-I/O, jedoch File-Deskriptoren

Mehr

GI Vektoren

GI Vektoren Vektoren Problem: Beispiel: viele Variablen vom gleichen Typ abspeichern Text ( = viele char-variablen), Ergebnisse einer Meßreihe ( = viele int-variablen) hierfür: Vektoren ( = Arrays = Feld ) = Ansammlung

Mehr

8. Datei-Eingabe und -Ausgabe

8. Datei-Eingabe und -Ausgabe Dateien: 8. Datei-Eingabe und -Ausgabe sind benannte Objekte, die eine Speicherung von Anwendungsdaten auf einem linearen Adressraum zulassen Persistente Speicherung, d.h. Daten bleiben nach Beendigung

Mehr

Informatik I Programmieren in C

Informatik I Programmieren in C Informatik I Programmieren in C Zusammenfassung des Semesters Prof. Dr. Nikolaus Wulff Agenda Elementare Einführung C Programm Syntax Datentypen, Variablen und Konstanten Operatoren und Ausdrücke Kontrollstrukturen

Mehr

Programmierkurs Kapitel 4: Dateien Seite 1. Verwaltungfeld im Speicher. 4.1 Alternativen zur Programmierung der Eingabe und der Ausgabe

Programmierkurs Kapitel 4: Dateien Seite 1. Verwaltungfeld im Speicher. 4.1 Alternativen zur Programmierung der Eingabe und der Ausgabe Programmierkurs Kapitel 4: Dateien Seite 1 4 Dateien Verwaltungfeld im Speicher Dateivariable im Programm Dateizeiger Schreib-/Lesefeld im Programm EOF 4.1 Alternativen zur Programmierung der Eingabe und

Mehr

Das C Seminar Walter Herglotz WJH-BOD 1

Das C Seminar Walter Herglotz WJH-BOD 1 Arbeiten mit Dateien Programme bearbeiten Daten. Solange wir zur Eingabe nur die Tastatur und zur Ausgabe nur den Bildschirm benutzen, sind die Ergebnisse der Bearbeitung nach dem Programmende verschwunden.

Mehr

Arrays (Felder/Vektoren)

Arrays (Felder/Vektoren) Arrays (Felder/Vektoren) Zusammenfassung mehrerer Variablen des gleichen Typs unter einem Namen im Speicher direkt hintereinander abgelegt Definition: Typname Arrayname [Größe]; Beispiel: int ar [5]; Zugriff

Mehr

Ein- und Ausgabe. C - Kurs Mario Bodemann. 15. September 2010

Ein- und Ausgabe. C - Kurs Mario Bodemann. 15. September 2010 Ein- und Ausgabe C - Kurs 2010 Mario Bodemann 15. September 2010 This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 3.0 License 1 / 46 Inhaltsverzeichnis 1 Wiederholung

Mehr

8. Datei-Eingabe und -Ausgabe

8. Datei-Eingabe und -Ausgabe 8. Datei-Eingabe und -Ausgabe In C sind eine Reihe von Standarddateien vordefiniert: ZEIGER stdin stdout stderr GERÄTEDATEI Standardeingabe Standardausgabe Standardfehlerausgabe Diese Standard-FILE-Zeiger

Mehr

+ C - Formatierte Eingabe mit scanf()

+ C - Formatierte Eingabe mit scanf() + C - Formatierte Eingabe mit scanf() BKTM - Programmieren leicht gemacht. Formatierte Eingabe mit scanf() Um eine Eingabe von der Tastatur bereitzustellen, kann man die scanf()-funktion benutzen. Der

Mehr

6. Eingabe und Ausgabe, Dateien

6. Eingabe und Ausgabe, Dateien 6. Eingabe und Ausgabe, Dateien Möglichkeiten für die Eingabe: Eingabe von der Konsole Nutzer- Eingabefelder in Fensteroberflächen Interaktiv Eingabe durch Webseiten (HTML-FORM-Elemente) Eingabe aus Dateien

Mehr

16 Felder von Zeigern

16 Felder von Zeigern 16Felder 4. von Zeigern (2) 16 Felder von Zeigern Beispiel: Definition und Initialisierung eines Zeigerfeldes: char *month_name( n) { static char *Monatsnamen[] = { "Unzulaessiger Monat", "Januar", "Dezember"

Mehr

Einteilung von Dateien. Streams

Einteilung von Dateien. Streams Einteilung von Dateien Streams allgemeines Modell für bewegte Daten, wobei Daten (Bytes) zwischen dem Hauptspeicher und einer Quelle oder einem Ziel bewegt werden Quelle oder Ziel können sein Datenträger

Mehr

PROGRAMMIEREN MIT UNIX/LINUX-SYSTEMAUFRUFEN

PROGRAMMIEREN MIT UNIX/LINUX-SYSTEMAUFRUFEN PROGRAMMIEREN MIT UNIX/LINUX-SYSTEMAUFRUFEN 3. UNIX/Linux-Dateisysteme und zugehörige Systemaufrufe und Kommandos (Teil I) Wintersemester 206/7 UNIX/Linux-Dateisystem(e) Systemaufrufe zur Dateiarbeit:

Mehr

Grundlagen der Programmierung in C++ Arrays und Strings, Teil 1

Grundlagen der Programmierung in C++ Arrays und Strings, Teil 1 Grundlagen der Programmierung in C++ Arrays und Strings, Teil 1 Wintersemester 2005/2006 G. Zachmann Clausthal University, Germany zach@in.tu-clausthal.de Das C++ Typsystem simple structured integral enum

Mehr

Ein- und Ausgabe. C - Kurs Mario Bodemann. 15. September 2010

Ein- und Ausgabe. C - Kurs Mario Bodemann. 15. September 2010 Ein- und Ausgabe C - Kurs 2010 Mario Bodemann 15. September 2010 This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 3.0 License 1 / 46 Inhaltsverzeichnis 1 Wiederholung

Mehr

Die elementare Ausgabe von Daten auf externe Medien, wie Dateien und das Einlesen davon wird demonstriert.

Die elementare Ausgabe von Daten auf externe Medien, wie Dateien und das Einlesen davon wird demonstriert. Ein- und Ausgabe Die elementare Ausgabe von Daten auf externe Medien, wie Dateien und das Einlesen davon wird demonstriert. Komplexe E/A-Operationen werden erst diskutiert, nachdem das Klassenkonzept erarbeitet

Mehr

Tafelübung zu BS 5. Dateioperationen

Tafelübung zu BS 5. Dateioperationen Tafelübung zu BS 5. Dateioperationen Olaf Spinczyk Arbeitsgruppe Eingebettete Systemsoftware Lehrstuhl für Informatik 12 TU Dortmund olaf.spinczyk@tu-dortmund.de http://ess.cs.uni-dortmund.de/~os/ http://ess.cs.tu-dortmund.de/de/teaching/ss2012/bs/

Mehr

Tafelübung zu BS 5. Dateioperationen

Tafelübung zu BS 5. Dateioperationen Tafelübung zu BS 5. Dateioperationen Olaf Spinczyk Arbeitsgruppe Eingebettete Systemsoftware Lehrstuhl für Informatik 12 TU Dortmund olaf.spinczyk@tu-dortmund.de http://ess.cs.uni-dortmund.de/~os/ http://ess.cs.tu-dortmund.de/de/teaching/ss2012/bs/

Mehr

6.2 Extras/Lesen aus Dateien

6.2 Extras/Lesen aus Dateien 6.2 Extras/Lesen aus Dateien 6.2.1 Problem Aus einer Datei sollen Spannungswerte eingelesen werden. Anschließend sollen Anzahl, Minimum, Maximum, AMW und Standardabweichung ermittelt und ausgegeben werden.

Mehr

Praxis der Programmierung

Praxis der Programmierung Zeichenketten (Strings), Ein- und Ausgabe Institut für Informatik und Computational Science Universität Potsdam Henning Bordihn Einige Folien gehen auf A. Terzibaschian zurück. 1 Zeichenketten (Strings)

Mehr

Permanente Datenspeicherung. Permanente Datenspeicherung. Agenda für heute, 1. Juni, 2006

Permanente Datenspeicherung. Permanente Datenspeicherung. Agenda für heute, 1. Juni, 2006 Agenda für heute, 1. Juni, 2006 Permanente Datenspeicherung Deklaration von Files Files verwenden Filetypen: Drei Kategorien Sequentielle Files Permanente Datenspeicherung Daten, die während der Ausführung

Mehr

Programmiertechnik 1. Unit 12: Programmiersprache C - Betriebssystemschnittstellen. Andreas Polze 1

Programmiertechnik 1. Unit 12: Programmiersprache C - Betriebssystemschnittstellen. Andreas Polze 1 Programmiertechnik 1 Unit 12: Programmiersprache C - Betriebssystemschnittstellen Andreas Polze 1 Ablauf Zugriff auf Betriebssystemdienste Dateideskriptoren low-level I/O read and write open, creat, close,

Mehr

Übersicht. Einführung in die Programmierung. Die Standardbibliothek. Ein- und Ausgabe. Ein- und Ausgabe. Dateioperationen.

Übersicht. Einführung in die Programmierung. Die Standardbibliothek. Ein- und Ausgabe. Ein- und Ausgabe. Dateioperationen. Übersicht Einführung in die Programmierung Bachelor of Science Prof. Dr. Rethmann Fachbereich Elektrotechnik und Informatik Hochschule Niederrhein Arrays Datentypen, Operatoren und Kontrollstrukturen Funktionen

Mehr

Zeichendarstellung. Zeichen sind Zahlen (in C) Zeichen und switch

Zeichendarstellung. Zeichen sind Zahlen (in C) Zeichen und switch darstellung Arbeiten mit darstellung werden im Computer durch (kleine) Zahlen dargestellt in C können im Datentyp char gespeichert werden, dieser umfasst ein Byte und gilt als Ganzzahltyp darstellung Arbeiten

Mehr

Programmieren in C++

Programmieren in C++ Programmieren in C++ SS 2016 Vorlesung 7, Dienstag 7. Juni 2016 (Eingabe / Ausgabe, Optionen) und Rest von Vorlesung 6: Rückgabe von Argumenten Prof. Dr. Hannah Bast Lehrstuhl für Algorithmen und Datenstrukturen

Mehr

Programmierung mit C Zeiger

Programmierung mit C Zeiger Programmierung mit C Zeiger Zeiger (Pointer)... ist eine Variable, die die Adresse eines Speicherbereichs enthält. Der Speicherbereich kann... kann den Wert einer Variablen enthalten oder... dynamisch

Mehr

Michael Dienert. 8. Dezember 2016

Michael Dienert. 8. Dezember 2016 C für Unverdrossene Michael Dienert 8. Dezember 2016 Vorbemerkung Natürlich könnte ich als erstes C-Programm Hello World nehmen. Um mit dem Kompiler zu spielen, kann man aber auch gleich einen sinnvolleren

Mehr

Programmiersprachen Einführung in C

Programmiersprachen Einführung in C Programmiersprachen Einführung in C Teil 4: Prof. Dr. Jörg Schwenk Lehrstuhl für Netz- und Datensicherheit Gliederung Programmiersprachen 1. Von der Maschinensprache zu C 2. Die Struktur von C-Programmen

Mehr

1 Einführung. 1.1 Historie

1 Einführung. 1.1 Historie S. d. I.: Programieren in C Folie 1-1 1 Einführung 1.1 Historie die erste Version des Betriebssystems UNIX wurde 1969 vollständig in Assemblersprache auf einer PDP-7 (von Digital Equipment) in den Bell

Mehr

Grundlagen der Informatik

Grundlagen der Informatik Grundlagen der Informatik Einführung in die Programmiersprache C Teil 2 Ein- und Ausgabe in C-Programmen Prof. Dr.-Ing. Thomas Wiedemann Fachgebiet Informatik / Mathematik Überblick zur Vorlesung Ein-

Mehr

Peter Prinz. Das Übungsbuch. CTestfragen und Aufgaben mit Lösungen

Peter Prinz. Das Übungsbuch. CTestfragen und Aufgaben mit Lösungen Peter Prinz Das Übungsbuch CTestfragen und Aufgaben mit Lösungen Symbole #define 93 #endif 96 #ifdef 93 #ifndef 93, 96 #include 11, 35 #undef 93 A ABS 98 addarr() 222 Adresse 199 Adressoperator 200 Algorithmus

Mehr

Linux/Unix- Systemprogrammierung

Linux/Unix- Systemprogrammierung Helmut Herold Linux/Unix- Systemprogrammierung 3., aktualisierte Auflage An imprint of Pearson Education München Boston San Francisco Harlow, England Don Mills, Ontario Sydney Mexico City Madrid Amsterdam

Mehr

Programmiertechnik 1. Unit 11: Programmiersprache C Ein- und Ausgabe (libc) Andreas Polze 1

Programmiertechnik 1. Unit 11: Programmiersprache C Ein- und Ausgabe (libc) Andreas Polze 1 Programmiertechnik 1 Unit 11: Programmiersprache C Ein- und Ausgabe (libc) Andreas Polze 1 Ablauf Standard Ein- und Ausgabe stdio Formatierte Ausgabe printf Argumentlisten variabler Länge varargs Formatierte

Mehr

FH Ravensburg-Weingarten Schriftlich Prüfung Programmieren

FH Ravensburg-Weingarten Schriftlich Prüfung Programmieren FH Ravensburg-Weingarten Schriftlich Prüfung Programmieren Prof. Dr. M. Zeller Datum, Zeit Aufgabenblätter erreichbare Punktzahl zugelassene Hilfsmittel, 0800 1000 Uhr (120 min) 16 Seiten (einschl. Deckblatt)

Mehr

Mapra: C++ Teil 4. Felix Gruber. 6. Mai IGPM, RWTH Aachen. Felix Gruber (IGPM, RWTH Aachen) Mapra: C++ Teil 4 6.

Mapra: C++ Teil 4. Felix Gruber. 6. Mai IGPM, RWTH Aachen. Felix Gruber (IGPM, RWTH Aachen) Mapra: C++ Teil 4 6. Mapra: C++ Teil 4 Felix Gruber IGPM, RWTH Aachen 6. Mai 2015 Felix Gruber (IGPM, RWTH Aachen) Mapra: C++ Teil 4 6. Mai 2015 1 / 22 Themen vom letzten Mal Kompilieren mit Makefiles Ein-/Ausgabe über Dateien

Mehr

Zugriff auf die Modul-EEPROMs

Zugriff auf die Modul-EEPROMs MAX-P- und P-Bibliotheken EEPROM-Zugriff 1 Zugriff auf die Modul-EEPROMs Jedes X-Bus-Modul verfügt über ein EEPROM, in dem modulspezifische Daten gespeichert werden. Neben einigen Bereichen, die vom Betriebssystem

Mehr

Hochschule Ravensburg-Weingarten Schriftliche Prüfung Programmieren Prof. Dr. M. Zeller

Hochschule Ravensburg-Weingarten Schriftliche Prüfung Programmieren Prof. Dr. M. Zeller Hochschule Ravensburg-Weingarten Schriftliche Prüfung Programmieren Prof. Dr. M. Zeller Datum, Zeit, 10:30 12:00 Uhr(90 min) Aufgabenblätter 14 Seiten(einschl. Deckblatt) erreichbare Punktzahl 69 zugelassene

Mehr

Inhalt. 4.5 Arbeit mit Zeigern (engl. Pointer)

Inhalt. 4.5 Arbeit mit Zeigern (engl. Pointer) Inhalt Inhalt: 4. Programmiersprache C 4.1 Programmaufbau in C 4.2 Basisdatentypen und einfache Anweisungen 4.3 Steuerfluss-Konstrukte 4.4 Arbeit mit indizierten Größen (Felder) 4.5 Arbeit mit Zeigern

Mehr

Quiz und Übungen. C++ Übung am 19. Mai 2016

Quiz und Übungen. C++ Übung am 19. Mai 2016 Quiz und Übungen C++ Übung am 19. Mai 2016 Was ist der Unterschied zwischen kompilierenden und interpretierenden Programmiersprachen? Was ist der Unterschied zwischen kompilierenden und interpretierenden

Mehr

>> x Problem Byte-Versatz 261

>> x Problem Byte-Versatz 261 Stichwortverzeichnis -- 159 Voranstellung 160! 120, 246 #define 87 #include 56, 61 %% 161 %04x 252 %c 93 %d 81 %f 81 %o 253 %p 263 %s 104, 106 %X 251 & 243, 264, 272 && 120 &-Operator 106 (*p)++ 277 (*pa)++

Mehr

5. Dateioperationen. Tafelübung zu BSRvS1. Olaf Spinczyk Arbeitsgruppe Eingebettete Systemsoftware. Lehrstuhl für Informatik 12 TU Dortmund

5. Dateioperationen. Tafelübung zu BSRvS1. Olaf Spinczyk Arbeitsgruppe Eingebettete Systemsoftware. Lehrstuhl für Informatik 12 TU Dortmund Tafelübung zu BSRvS1 5. Dateioperationen Olaf Spinczyk Arbeitsgruppe Eingebettete Systemsoftware Lehrstuhl für Informatik 12 TU Dortmund olaf.spinczyk@tu-dortmund.de http://ess.cs.uni-dortmund.de/teaching/ss2008/bsrvs1/exercises/

Mehr

Dr. Monika Meiler. Inhalt

Dr. Monika Meiler. Inhalt Inhalt 3 C-Ausdrücke...3-2 3.1 Arithmetische Ausdrücke...3-3 3.2 Wertzuweisungen...3-5 3.3 Inkrementieren und Dekrementieren...3-6 3.4 Logische Ausdrücke (Bedingungen)...3-7 3.5 Bedingte Ausdrücke...3-8

Mehr

Inhalte. Einführung. Algorithmus, Programmiersprache, Compiler und Linker. Kontrollstrukturen. Präprozessoranweisungen. Libraries

Inhalte. Einführung. Algorithmus, Programmiersprache, Compiler und Linker. Kontrollstrukturen. Präprozessoranweisungen. Libraries INFIO.1 Informatik I Einführung Algorithmus, Programmiersprache, Compiler und Linker Datentypen Kontrollstrukturen Präprozessoranweisungen Libraries Funktionen und Klassen Inhalte INFIO.2 Auszug Daten

Mehr

File I/O mit CRTL unter OpenVMS

File I/O mit CRTL unter OpenVMS DECUS München Symposium - Bonn File I/O mit CRTL unter OpenVMS Hartmut Becker März 2000 Seite 1 Themen Die Aufgabe Den Durchsatz erhöhen Die Feinheiten File I/O mit CRTL unter OpenVMS Seite 2 Die Aufgabe

Mehr

Programmieren in Java

Programmieren in Java Programmieren in Java Vorlesung 01: I/O und einfache Operationen Prof. Dr. Peter Thiemann Albert-Ludwigs-Universität Freiburg, Germany SS 2017 Peter Thiemann (Univ. Freiburg) Programmieren in Java JAVA

Mehr

Rechner muß unterschiedliche Geräte bedienen können. zeichenorientierte Geräte (character devices, unstructured devices)

Rechner muß unterschiedliche Geräte bedienen können. zeichenorientierte Geräte (character devices, unstructured devices) Betriebssysteme Folie 6-1 6 Dateiverwaltung Rechner muß unterschiedliche Geräte bedienen können zeichenorientierte Geräte (character devices, unstructured devices) (z.b. Sichtgeräte, Drucker oder Übertragungsleitungen

Mehr

2. Programmierung in C

2. Programmierung in C 2. Programmierung in C Inhalt: Überblick über Programmiersprachen, Allgemeines zur Sprache C C: Basisdatentypen, Variablen, Konstanten, Operatoren und Ausdrücke Anweisungen und Kontrollstrukturen (Steuerfluss)

Mehr

Dynamischer Speicher

Dynamischer Speicher Dynamischer Speicher C-Kurs 2012, 3. Vorlesung Tino Kutschbach tino.kutschbach@campus.tu-berlin.de http://wiki.freitagsrunde.org 13. September 2012 This work is licensed under the Creative Commons Attribution-ShareAlike

Mehr

Linux/Unix Systemprogrammierung

Linux/Unix Systemprogrammierung Linux/Unix Systemprogrammierung Pablo Yánez Trujillo Poolmanager Team Universität Freiburg August 14, 2006 Pablo Yánez Trujillo Linux/Unix Systemprogrammierung Slide 1 of 48 Einführung Wer mehr über sein

Mehr