Einteilung von Dateien. Streams
|
|
- Rüdiger Gerstle
- vor 6 Jahren
- Abrufe
Transkript
1 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 Hosts im Netzwerk lokale Schnittstellen (seriell, parallel, usb) Datenströme haben keine Struktur Daten, die mit einem Namen versehen auf einem Datenträger liegen, nennt man Dateien. Unterlegt man den Daten eine logische Struktur, so nennt man die einzelnen logischen Einheiten Datensätze.
2 Text/Binär Textdateien Bytes werden nach dem ASCII-Code interpretiert Oft zeilenweise organisiert Sonderbehandlung des Zeilenendes fgets, fputs Nahezu unbegrenzt portabel Binärdateien Bytes können beliebige Bedeutung haben Oft nicht portabel Dateiaufbau Dateien mit fester Datensatzlänge Dateien mit variabler Datensatzlänge Alle Datensätze haben den selben Aufbau Datensätze sind unterschiedlich lang Meistens Binärdaten Oft 1:1 abgelegte Strukturen Direkter Zugriff auf beliebige Datensätze ist möglich Oft nicht portabel fread, fwrite, fseek Dateiverarbeitung Textdateien haben oft variabel lange Datensätze, wenn man Zeilen als Datensätze betrachtet sequenzielle Verarbeitung, oder extra geführte Datensatzverwaltung (Index) High level I/O portabel gepuffert FILE-Pointer FILE* Low level I/O Eingeschränkt portabel Ungepuffert (u.u. langsam) Filehandle (int) Sehr systemnah
3 #include <stdio.h> #include <stdlib.h> #include <string.h> /*#include <process.h> */ typedef struct char vbez [25+1]; char vnr [12+1]; long Lbst; tart,tart; tart getart(file* pf,int i) tart tmp; fseek(pf,i*sizeof(tart),seek_set); fread(&tmp,sizeof (tart),1,pf); return tmp; void swap(file* pf,tart* A1, int i, tart* A2, int j) int x; tart tmp; x=fseek(pf,sizeof(tart)*j,seek_set); x=fwrite(a1,sizeof(tart),1,pf); x=fseek(pf,sizeof(tart)*i,seek_set); x=fwrite(a2,sizeof(tart),1,pf); tmp=*a1; *A1=*A2; *A2=tmp;
4 int main(int argc, char*argv[]) FILE *pf; long n; long *pindx; tart Art; /* Ausgabe */ if ((pf=fopen(argv[1],"r+b"))==null) exit (-1); while(fread(&art,sizeof(tart),1,pf)==1) printf("%-12s \"%-25s\" %6ld...", Art.vNr,Art.vBez,Art.Lbst); /* Sortierung */ int i,j; n= ftell(pf)/sizeof(tart); tart A1,A2; for (i=0,a1=getart(pf,i);i<n-1;++i,a1=getart(pf,i)) for (j=i+1,a2=getart(pf,j);j<n; ++j,a2=getart(pf,j)) if (strcmp(a1.vbez,a2.vbez)>0) swap(pf,&a1,i,&a2,j); rewind (pf); puts("===================================="); while(fread(&art,sizeof(tart),1,pf)==1) printf("%-12s \"%-25s\" %6ld...\n", Art.vNr,Art.vBez,Art.Lbst); fclose(pf); return 0; Bei sehr vielen Dateipositionierungen und Lese-/Schreibvorgängen an verschiedenen wahlfreien Positionen, wird die Pufferung der Daten unter Umständen eher zum Hindernis und zur Performancebremse.
5 Low Level I/O Öffen/Erzeugen und schließen von Dateien int open (const char *filename, int flags[, mode_t mode]) O_RDONLY: O_WRONLY: O_RDWR: O_APPEND: O_CREAT: O_EXCL: O_NOCTTY: O_NONBLOCK: O_TRUNC: Datei zum Lesen öffnen Datei zum Schreiben öffnen Datei zum Lesen und Schreiben öffnen Datei am Dateiende schreiben, unabh. Von der akt. Filepos. Datei erzeugen (wenn sie noch nicht existiert) Datei wird nur erzeugt, wenn sie noch nicht existiert wird in Verbindung mit O_CREAT verwendet Handelt es sich bei der Datei um ein Terminal (/dev/ttys0), so soll der Prozess nicht über dieses Terminal gesteuert werden open, read und write kehren sofort zurück, und haben ggf. 0 Bytes gelesen/geschrieben Datei wird beim Öffnen zum Lesen auf Länge 0 gelöscht int creat (const char *filename, mode_t mode) int close (int filedes) int dup (int oldfd) Lesen/Schreiben ssize_t read (int filedes, void *buffer, size_t size) ssize_t write (int filedes, const void *buffer, size_t size) Positionieren off_t lseek (int filedes, off_t offset, int whence) (SEEK_SET, SEEK_CUR, SEEK_END) int lseek (int fd,long offs, int whence) (L_SET, L_INCR, L_XTND)
6 Konvertierung FILE* <-> Deskriptor FILE * fdopen (int filedes, const char *opentype) int fileno (FILE *stream) Standarddeskriptoren STDIN_FILENO STDOUT_FILENO STDERR_FILENO 0 Standard Input 1 Standard Output 2 Standard Fehler Output
7 #include <stdio.h> #include <unistd.h> #include <sys/stat.h> #include <sys/types.h> #include <fcntl.h> #define F1 "Quellefile does not exist\n" #define F2 "Destination exists\n" /* Kopiert eine beliebige Datei ohne Beachtung der internen Struktur */ char vbuf[129]; int main(int argc, char**argv) int fd1,fd2,len,lenw=0; fd1=open(argv[1],o_rdonly); if (fd1>0) fd2=open(argv[2],o_creat O_WRONLY,0666); if (fd2>0) while ((len=read(fd1,vbuf,128))>0) write(1,vbuf,len); lenw=write(fd2,vbuf,len); if (lenw!=len)write(2,"mist\n",6); memset(vbuf,0,129); else write(2,f2,strlen(f2)); else write(2,f1,strlen(f1)); close(fd1); close(fd2); return 0;
8 /* Sortiert die Artikel in der Praktikumsartikeldatei */ /* A. Beck */ #include <stdio.h> #include <stdlib.h> #include <string.h> #include <unistd.h> #include <sys/stat.h> #include <sys/types.h> #include <fcntl.h> typedef struct char vbez [25+1]; char vnr [12+1]; long Lbst; tart,tart; /******************************************************* liest einen Artikel von einer Dateiposition *******************************************************/ tart getart(int F, // Filedeskiptor int i) // Fileposition tart tmp; lseek(f,i*sizeof(tart),seek_set); read(f,&tmp,sizeof (tart)); return tmp; /******************************************************* vertauscht 2 Artikel in der Datei *******************************************************/ void swap(int F, // Filedeskiptor tart* A1, // Artikel 1 int i, // alte Pos. Art.1, neue Pos. Art.2 tart* A2, // Artikel 2 int j) // alte Pos. Art.1, neue Pos. Art.1 int x; tart tmp; x=lseek(f,sizeof(tart)*j,seek_set); x=write(f,a1,sizeof(tart)); x=lseek(f,sizeof(tart)*i,seek_set); x=write(f,a2,sizeof(tart)); tmp=*a1; *A1=*A2; *A2=tmp;
9 int main(int argc, char*argv[]) int F; long n; long *pindx; tart Art; /* Ausgabe */ if ((F=open(argv[1],O_RDWR))==-1) exit (-1); while(read(f,&art,sizeof(tart))==sizeof(tart)) printf("%-12s \"%-25s\" %6ld...\n", Art.vNr,Art.vBez,Art.Lbst); /* Sortierung */ int i,j; n= lseek(f,0,seek_end)/sizeof(tart); printf("n:%d\n",n); fgetc(stdin); tart A1,A2; for (i=0,a1=getart(f,i); i<n-1; i+=1,a1=getart(f,i)) for (j=i+1,a2=getart(f,j);j<n ; j+=1,a2=getart(f,j)) if (strcmp(a1.vbez,a2.vbez)>0) swap(f,&a1,i,&a2,j); lseek (F,0,SEEK_SET); puts("===================================="); while(read(f,&art,sizeof(tart))==sizeof(tart)) printf("%-12s \"%-25s\" %6ld...\n", Art.vNr,Art.vBez,Art.Lbst); close(f); return 0;
10 Nachfolgendes Beispiel stellt eine serielle Verbindung zu einem Mikroprozessor her. Dieser sendet über die serielle Schnittstelle im Sekundentakt Strings, die eine gemessene Temperatur und die ID des Sensors übermittelt ID: CHex: 0008 T= 4.0 ID: Hex: 002E T= 22.0 ID: CHex: 0008 T= 4.0 ID: Hex: 002E T= 21.5 # Der so genannte kanonische Modus: Hier erfolgt das Lesen und Schreiben zeilenorientiert. Das heißt, eine Eingabe wird erst weitergereicht, wenn ein Zeilenabschluss (Linefeed, NL) oder Carriage Return (CR) übertragen wurde. Für diesen Modus benötigt man die Steuerzeichen des c_cc-arrays der termios-struktur. Der Nachteil ist, dass ein Programm beim Lesen in diesem Modus so lange wartet (CPU-Zeit vergeudet), bis tatsächlich eine Zeile übertragen wurde. Wird kein Zeilenabschluss gelesen, so wird für immer gewartet. Die Aufgabe des Zwischenspeicherns übernimmt der Kernel in speziellen Puffern. Es gibt einen Eingabe- und einen Ausgabepuffer. Steuerzeichen regeln, wann welche Puffer entleert werden und somit ihren Inhalt an das Gerät oder das Programm weitergeben. # Beim nicht kanonischen Modus erfolgt das Lesen oder Schreiben entweder nach einer bestimmte Anzahl an Bytes (was auch nur ein Byte und somit ein Zeichen sein kann) oder es kann eine gewisse Zeit dafür angegeben werden. Hierfür können folgende zwei Felder des Arrays c_cc gesetzt werden. In c_cc[vtime] wird die entsprechende Zeit in Zehntelsekunden und in c_cc[vmin] das Minimum der zu lesenden Bytes angegeben. (
11 #include <sys/types.h> #include <sys/stat.h> #include <fcntl.h> #include <termios.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #define BAUDRATE B19200 #define MODEMDEVICE "/dev/ttys1" int fd; unsigned char receive() int res=0,i; char buffer[128]=""; while (1) res = read(fd,buffer,127); if (res!=-1)break; usleep (10); if (res)write(1,buffer,res); int main(int argc, char**argv) struct termios newtio=; // man 2 open, man termios fd=open(modemdevice, O_RDONLY O_NOCTTY O_NDELAY ); if (fd <0)printf("Fehler ttys1"); exit(0); // Control flag 8bit/char, kein Modem, (8N1) newtio.c_cflag = BAUDRATE CS8 CLOCAL CREAD; // Inputflag ignore Errors newtio.c_iflag = IGNPAR; // Outptflag newtio.c_oflag = 0; // Localflag kein echo, keine spez.steuerzeichen newtio.c_lflag = 0; // Steuerzeichen newtio.c_cc[vtime]= 0;// ohne timer newtio.c_cc[vmin] = 1;// blockt bis 1 char empfangen tcflush(fd, TCIFLUSH); tcsetattr(fd,tcsanow,&newtio); while (1) receive();
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 // ==
MehrTafelü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/
MehrProgrammiersprachen 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
MehrDateioperationen 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)
MehrFortgeschrittene I/O
Sep 19 14:20:18 amd64 sshd[20494]: Accepted rsa for esser from ::ffff:87.234.201.207 port 61557 Sep 19 14:27:41 amd64 syslog-ng[7653]: STATS: dropped 0 Sep 20 01:00:01 amd64 /usr/sbin/cron[29278]: (root)
MehrProgrammiertechnik 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,
MehrFile 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
MehrAufgabenblatt 5 Musterlösung
Prof. Dr. rer. nat. Roland Wismüller Aufgabenblatt 5 Musterlösung Vorlesung Betriebssysteme I Wintersemester 2017/18 Aufgabe 1: Implementierung von Threads (Bearbeitung zu Hause) Der größte Vorteil ist
MehrIm 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
Mehr182. 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
MehrEin- und Ausgabe mit Dateien
Ein- und Ausgabe mit Dateien Edouard Lamboray Informatik I für D-ITET (2004) Ein- und Ausgabekonzepte in C und C++ fstream header Streamobjekt Files schreiben und lesen Argumente von main Vorbemerkungen
MehrDateien. 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
Mehrfile:///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
MehrEin- und Ausgabe mit Dateien
Ein- und Ausgabe mit Dateien Edouard Lamboray Informatik I für D-ITET (2004) Ein- und Ausgabekonzepte in C und C++ fstream header Streamobjekt Files schreiben und lesen Argumente von main 2 Vorbemerkungen
Mehr5. 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/
MehrLösung Übungszettel 6
Lösungen zur Vorlesung GRUNDLAGEN DER INFORMATIK I Studiengang Elektrotechnik SS 03 AG Betriebssysteme FB3 Kirsten Berkenkötter Lösung Übungszettel 6 1 Aufgabe 1: Parallel-Server 1.1 Client #include
MehrPROGRAMMIEREN 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:
MehrDateien. 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.
MehrPhysische Dateistrukturen
Direktzugriffsdateien Seite 1 Charakteristik: Folge von Elementen (physischen Datensätzen) Länge (Speicherbedarf) dynamisch Begriffe: x = < > leere Datei x x = Datei x mit einem Datensatz x1 x =
MehrE-/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
MehrMalware. Carlo U. Nicola 09. Dezember Die Struktur eines (harmlosen) aber echten Virus-Programmes analysieren;
FHNW: Labor Netzwerkssicherheit Malware Carlo U. Nicola 09. Dezember 2012 Ziel Die Ziele dieser Aufgabe sind: 1. Anhand der printf(...) C-Funktion erkennen, dass die (Un)-Sicherheit bereits implizit in
MehrBeispiel für einen IPC-Server, der seinen Dienst über den Global Name Service im Netzwerk bekannt gibt. Header-Dateien einbinden
Dokument: gns_ipc_server.c, 1 - Seite 1 - - 1: 1 von 1 - Beispiel für einen IPC-Server, der seinen Dienst über den Global Name Service im Netzwerk bekannt gibt. Header-Dateien einbinden int main(int argc,
MehrDateizugriff 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
MehrDienstspezifikation nach RFC 2396 193
Dienstspezifikation nach RFC 2396 193 Für die Kombination aus Rechnernamen (oder alternativ einer IP-Adresse) und einer Portnummer gibt es mit RFC 2396 einen Standard: hostport host [ : port ] host hostname
MehrProgrammieren 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
MehrNetzwerksicherheit Musterlösung Übungsblatt 4: Viren
Institut für Informatik Alina Barendt und Philipp Hagemeister Netzwerksicherheit Musterlösung Übungsblatt 4: Viren 1 Vorbereitung msg db "Virus" mov ah, 40h mov bx, 1 mov cx, $5 mov dx, msg int 21h ; Write
MehrProgrammiersprachen Einführung in C
Programmiersprachen Einführung in C Teil 2: Prof. Dr. Unser erstes C-Programm int main (int argc, char *argv[]) int i; int sum = 0; for (i = 0; i
MehrDateizugriff. Streams. Informatik 1 1
Dateizugriff Streams 1 Überblick Rückblick Standard I/O Klassen Dateien als F-streams Öffnen vn Dateien Lesen und Schreiben Snderbefehle Unterschiedliche Datei-Typen Der C-Stil für (un)gepufferter Zugriff
MehrLinux. Dipl.-Inf., Dipl.-Ing. (FH) Michael Wilhelm. FB Automatisierung und Informatik.
Linux Dipl.-Inf., Dipl.-Ing. (FH) Michael Wilhelm Hochschule Harz FB Automatisierung und Informatik mwilhelm@hs-harz.de http://www.miwilhelm.de Raum 2.202 Tel. 03943 / 659 338 FB Automatisierung und Informatik:
MehrLinux. Dipl.-Inf., Dipl.-Ing. (FH) Michael Wilhelm. Hochschule Harz. FB Automatisierung und Informatik.
Linux Dipl.-Inf., Dipl.-Ing. (FH) Michael Wilhelm Hochschule Harz FB Automatisierung und Informatik mwilhelm@hs-harz.de http://www.miwilhelm.de Raum 2.202 Tel. 03943 / 659 338 FB Automatisierung und Informatik:
MehrTafelü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/
MehrTafelü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/
MehrSerielle Kommunikation mit UART/USART
Serielle Kommunikation mit UART/USART http://www.mikrocontroller.net/articles/avr-gcc-tutorial/der_uart Serielle Kommunikation mit RS232 Seit 1962! Spezifikation regelt elektrische und mechanische Belange
MehrBeispiel Block 2 Stream I/O Parallele Prozesse: fork, exec und wait Interprozesskommunikation mit Unnamed Pipes
File Descriptors Beispiel Block 2 Stream I/O Parallele Prozesse: fork, exec und wait Interprozesskommunikation mit Unnamed Pipes Verweis auf Eintrag in Tabelle offener Dateien (file descriptor table) Standard
MehrHochschule 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 15 Seiten(einschl. Deckblatt) erreichbare Punktzahl 61 zugelassene
MehrModellierung 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
Mehr6.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.
MehrDateien 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
MehrAusgewä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");
MehrEine Mini-Shell als Literate Program
Eine Mini-Shell als Literate Program Hans-Georg Eßer 16.10.2013 Inhaltsverzeichnis 1 Eine Mini-Shell 1 1.1 Einen Befehl parsen......................... 2 1.2 Was tun mit dem Kommando?...................
Mehrios fstream ifstream
4 Grundlagen der Dateiarbeit 4.1 File-Stream-Klassen Mit der Beendigung eines Programms gehen die im Hauptspeicher gehaltenen Daten des Programms verloren. Um Daten permanent zu speichern, müssen sie in
MehrProgrammiersprachen Einführung in C. Unser erstes C-Programm. Unser erstes C-Programm. Unser erstes C-Programm. Unser erstes C-Programm
Programmiersprachen Einführung in C Teil 2: Prof. Dr. int main (int argc, char *argv[]) int sum = 0; for (i = 0; i
MehrÜ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
MehrDateiverarbeitung. 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
MehrProgrammieren 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
MehrINE1 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
MehrArrays (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
MehrLinux-UNIX-Programmierung
Jürgen Wolf Linux-UNIX-Programmierung Das umfassende Handbuch Als Programmierer in GNU/Linux bzw. UNIX haben Sie zwei Möglichkeiten zur Auswahl, wenn es um die Ein-/Ausgabe (kurz E/A) von Daten geht. Das
MehrU23 - Shellcode. Twix Chaos Computer Club Cologne. Motivation Einstieg Der erste Shellcode Nullbytes, NOP Slides
Twix e.v. http://koeln.ccc.de 2016-11-28 Überblick 1 Motivation Was ist Shellcode? Beispiel 2 Einstieg Erzeugen, Testen von Shellcode 3 Der erste Shellcode Strings in Shellcode 4 Nullbytes, NOP Slides
MehrDie 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
Mehr1.2 Multiprogramming, Multitasking
Kapitel 1 Worum geht es? Es soll beschrieben werden, was die einzelnen Begriffe bedeuten, und wo derartige Konzepte eingesetzt werden. 1.1 Concurrency Concurrency bedeutet, dass etwas gleichzeitig passiert.
MehrProgrammierung 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
MehrFH 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)
MehrZusammenfassung des Handzettels für Programmieren in C
Zusammenfassung des Handzettels für Programmieren in C In der handschriftlichen Kopie werden mehr Abkürzungen verwendet. Alles Grün markierte dient zum lernen und wird nicht auf den Handzettel übertragen.
MehrGI 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
Mehrund 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
MehrInhalt. 1 Einstieg in die Welt von C Erste Schritte in C 31. Vorwort... 15
Vorwort... 15 1 Einstieg in die Welt von C 17 1.1 Die Sprache C... 17 1.2 Die C-Standardbibliothek... 18 1.3 Die nötigen Werkzeuge für C... 21 1.4 Übersetzen mit der Entwicklungsumgebung... 23 1.5 Übersetzen
MehrKommunikationsnetze. 2. Direkte TCP/IP-Verbindungen 2.1 Höhere Programmiersprachen
Kommunikationsnetze Gliederung 1. Socket-Programmierung unter C 2. Socket-Programmierung unter Java Gliederung Berkeley Sockets (Erste freie TCP/IP-Implementierung in Berkeley UNIX): SOCKET: Erzeugen eines
MehrUSBCAN.DLL. Manual. Microcomputersysteme. Version 1.2
USBCAN.DLL Microcomputersysteme Manual Version 1.2 August 2004 Die in diesem Manual verwendeten Beschreibungen für Erzeugnisse, die ein eingetragenes Warenzeichen darstellen können, wurden nicht separat
MehrNetzwerksicherheit Musterlösung Übungsblatt 5: Firewalls
Institut für Informatik Philipp Hagemeister Netzwerksicherheit Musterlösung Übungsblatt 5: Firewalls 1 Virus-Konstruktion Erstellen Sie nun ein Programm in einer Programmiersprache Ihrer Wahl, welches
MehrMusterlösung. Hochschule Ravensburg-Weingarten Schriftliche Prüfung Programmieren Prof. Dr. M. Zeller
Musterlösung 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
MehrSichere Programmierung in C
Sichere Programmierung in C Systemnahe Software ist in vielen Fällen in Besitz von Privilegien und gleichzeitig im Kontakt mit potentiell gefährlichen Nutzern, denen diese Privilegien nicht zustehen. Daher
MehrLinux/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
MehrPraxis 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)
MehrHochschule Ravensburg-Weingarten Schriftliche Prüfung Programmieren Prof. Dr. M. Zeller
Hochschule Ravensburg-Weingarten Schriftliche Prüfung Programmieren Prof. Dr. M. Zeller Datum, Zeit, 08:00 09:30 Uhr (90 min) Aufgabenblätter 14 Seiten (einschl. Deckblatt) erreichbare Punktzahl 54 zugelassene
MehrInterprozesskommunikation
Interprozesskommunikation Inhalt 1. Überblick... 2 2. Pipes... 5 3. Fifo...22 3.1. Übung IPC-2...39 Unix für Entwickler: Interprozesskommunikation Prof Dr. Alois Schütte 1/40 1. Überblick Hier werden die
Mehr4 Schleifen und Dateien
4 Schleifen und Dateien 4.1 Übungsaufgabe 4.1.1 Aufgabe 1 Schreiben Sie drei C++ Programme: pword_for.cxx, pword_while.cxx, pword_do.cxx. Die Programme sollen den Benutzer höchstens 5 Mal nach einem Passwort
MehrWintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf Seite 1 von 23
Kapitel 16 Datei Aus- und Eingabe Seite 1 von 23 Datei Aus- und Eingabe - Für die Ausgabe auf Dateien und die Eingabe von Dateien werden die Streams ofstream und ifstream verwendet. - Sie sind in der Bibliothek
MehrMikroprozessoren Grundlagen AVR-Controller Input / Output (I/O) Interrupt Mathematische Operationen
Mikroprozessoren Grundlagen Aufbau, Blockschaltbild Grundlegende Datentypen AVR-Controller Anatomie Befehlssatz Assembler Speicherzugriff Adressierungsarten Kontrollstrukturen Stack Input / Output (I/O)
MehrDr. Monika Meiler. Inhalt
Inhalt 11 Dynamische Feldvereinbarung... 11-2 11.1 Dynamische Vereinbarung von Vektoren... 11-3 11.2 Dynamische Vereinbarung von Matrizen... 11-5 11.3 Die Kommandozeile... 11-8 Propädeutikum 11-1/8 11
MehrVorlesungsprüfung Programmiersprache 1
Vorlesungsprüfung Programmiersprache 1 Termin der Prüfung: 1) Di 20.03.2018 16:15 17:00 HSB 3 2) Di 15.05.2018 16:15 17:00 HSB 3 3) Di 12.06.2018 16:15 17:00 HSB 3 Stoffgebiete: 1) Ganzzahltypen: char,
MehrLösungen der P1-Musterprüfungsaufgaben
Lösungen der P1-Musterprüfungsaufgaben 7.6.2012 Textformatierung Eine Textdatei wird eingelesen, aufeinander folgende White-space-Zeichen werden zu einem zusammengefasst, die Zeilenlänge wird angepasst
MehrProgrammierkurs 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
MehrVariablen. Deklaration: «Datentyp» «Variablenname» Datentyp bestimmt Größe in Bytes: sizeof Beispiel: long int v; Größe: 4 Bytes
Variablen Deklaration: «Datentyp» «Variablenname» Datentyp bestimmt Größe in Bytes: sizeof Beispiel: long int v; Größe: 4 Bytes v ist Stück im Speicher, der 4 Bytes lang ist Speicherzugriff? Über Adressen!
MehrPhysische Datenstrukturen
Elementare Datentypen Strukturierte Datentypen Zeiger Seite 1 Einfache Datentypen Datentyp char Verwendung: ASCII-Zeichen Wertebereich: alle darstellbaren Zeichen, 8 bit lange Ganzzahlen im Intervall -128
MehrDie Bibliothek SysLibFile.lib
Die Bibliothek SysLibFile.lib Diese Bibliothek unterstützt synchrone Dateizugriffe auf dem Zielrechner. Wenn das Zielsystem die Funktionalität beinhaltet, können folgende Bibliotheksfunktionen für den
MehrC/C++-Programmierung
1 C/C++-Programmierung Speicherverwaltung, 0, const Sebastian Hack Christoph Mallon (hack mallon)@cs.uni-sb.de Fachbereich Informatik Universität des Saarlandes Wintersemester 2009/2010 2 Speicherverwaltung
MehrOrganisatorisches. Übungsleiter: Karsten Otto Homepage: Aufgaben
Organisatorisches Übungsleiter: Karsten Otto (otto@inf.fu-berlin.de) Homepage: http://www.inf.fu-berlin.de/lehre/ss04/sysi/ Aufgaben Montags im Netz Vorbesprechung Dienstag/Mittwoch in den Übungen Abgabe
MehrGrundlagen 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
MehrBeispiel 3. Shared Memory und Explizite Synchronisation. Daniel Prokesch. 27. April 2015. Überblick. Shared Memory. Semaphore. Ressourcenverwaltung
3 e 3 und Explizite Synchronisation Daniel Prokesch Institut für Technische Informatik Technische Universität Wien 27. April 2015 1 2 3 e Bisher betrachtet... Implizite Synchronisation Blockierende Lese-
MehrEin Ausgabe Verwaltung. Ein Ausgabe Verwaltung. Ein Ausgabe Verwaltung. Ein Ausgabe Verwaltung. Einführung. Busse, Ports, E/A Bausteine, Geräte
Steuerung Steuerung Steuerung Steuerung Busse, Ports, e, e allgemeine Aufgaben des Betriebssystems (speziell E/A): Abstraktion und Transparenz Steuerung von Peripherie en komplex (Steuerworte, zeitliche
MehrC-Kurs 2010 Pointer. 16. September v2.7.3
C-Kurs 2010 Pointer Sebastian@Pipping.org 16. September 2010 v2.7.3 This work is licensed under the Creative Commons Attribution-ShareAlike 3.0 License. C-Kurs Mi Konzepte, Syntax,... printf, scanf Next
MehrLesen Sie alle Aufgabenstellungen sorgfältig durch, bevor Sie mit der Bearbeitung der ersten Aufgabe beginnen.
INE1 Musteraufgaben für die Semesterendprüfung Hilfsmittel Vier Seiten selbst verfasste Zusammenfassung keine weiteren Hilfsmittel keine elektronischen Hilfsmittel Abgabe Füllen Sie das erste Aufgabenblatt
MehrThreads. Foliensatz 8: Threads Folie 1. Hans-Georg Eßer, TH Nürnberg Systemprogrammierung, Sommersemester 2015
Sep 19 14:20:18 amd64 sshd[20494]: Accepted rsa for esser from ::ffff:87.234.201.207 port 61557 Sep 19 14:27:41 amd64 syslog-ng[7653]: STATS: dropped 0 Sep 20 01:00:01 amd64 /usr/sbin/cron[29278]: (root)
MehrSystemnahe Software WS 2006/2007
Systemnahe Software WS 2006/2007 Andreas F. Borchert Universität Ulm 5. Februar 2007 Konkurrierende Zugriffe Prinzipiell erlaubt Unix den konkurrierenden Zugriff mehrerer Prozesse auf die gleiche Datei.
MehrZusatzinformation zum USB-Flashdrive mit ARM und RS232
Zusatzinformation zum USB-Flashdrive mit ARM und RS232 1. Belegung der LCD-Schnittstelle an JP3: REGISTER_SELECT READ_WRITE ENABLE DISPLAY_D0 DISPLAY_D1 DISPLAY_D2 DISPLAY_D3 DISPLAY_D4 DISPLAY_D5 DISPLAY_D6
MehrEin-/Ausgabe mit Files. File öffnen: Programmieren in C. File *fopen (const char *dateiname, const char *zugriff);
Ein-/Ausgabe mit Files File öffnen: File *fopen (const char *dateiname, const char *zugriff); r Datei lesen; sie muss bereits existieren w Datei schreiben; ihr Inhalt wird überschrieben, wenn sie bereits
MehrPraktikum Betriebssysteme 1. Aufgabe (1)
FG TECHNISCHE INFORMATIK U BS 041 01 TH 09 Praktikum Betriebssysteme 1. Aufgabe (1) Es wird ein unter LINUX lauffähiges C++-Programm ptab, mit dem Informationen über die Partitionierung von Festplatten
MehrC-Crashkurs. Praktikum Systemmanagement und Sicherheit
C-Crashkurs Praktikum Systemmanagement und Sicherheit ZIELE DIESES KURSES 15.04.2014 Dipl.-Inf. M. Bohr C_Crashkurs 2 Compiler gcc verwenden geläufigste Datentypen in C kennen Fehlerbehandlung (ohne Ausnahmeklassen)
MehrOperating Systems Principles. Event Queue
Humboldt University Computer Science Department Operating Systems Principles Event Queue 1. Aufgabe 3 Wochen Zeit zum Lösen der Aufgaben Aufgabenstellung auf der SAR Website Abgabe über GOYA Abgabefrist:
Mehr1. 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
MehrExcel + VBA. Ergänzungen. Kapitel 1 Einführung in VBA Sequentielle Textdateien HARALD NAHRSTEDT. Erstellt am
HARALD NAHRSTEDT Excel + VBA Ergänzungen Kapitel 1 Einführung in VBA 1.5.23 Sequentielle Textdateien Erstellt am 12.02.2012 Beschreibung In Textdateien lassen sich schnell Informationen speichern und auch
MehrBetriebssysteme Teil 2: I/O-Systemaufrufe bei LINUX
Betriebssysteme Teil 2: I/O-Systemaufrufe bei LINUX Betriebssysteme WS 2013/14 - Teil 2/IO-Syscalls 09.10.13 1 Übersicht Prinzip der Systemaufrufe I/O-Syscalls Directory Syscalls 2 Idee der Systemaufrufe
Mehrjava.io Ziel Ressourcen Page 1 Verstehen der unterschiedlichen I / O Möglichkeiten Anwenden der Java I/ O Klassen Java Tutorial Java API Dokumentation
java.io Ziel Verstehen der unterschiedlichen I / O Möglichkeiten Anwenden der Java I/ O Klassen Ressourcen Java Tutorial Java API Dokumentation Page 1 Java API Prinzip Java IO-API ist für eine allgemeine
MehrTafelübung zu BSRvS 1 5. Dateioperationen
Tafelübung zu BSRvS 1 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/
MehrLösungshinweise/-vorschläge zum Übungsblatt 13: Software-Entwicklung 1 (WS 2017/18)
Dr. Annette Bieniusa Mathias Weber, M. Sc. Peter Zeller, M. Sc. TU Kaiserslautern Fachbereich Informatik AG Softwaretechnik Lösungshinweise/-vorschläge zum Übungsblatt 13: Software-Entwicklung 1 (WS 2017/18)
MehrProgrammiertechnik. Teil 4. C++ Funktionen: Prototypen Overloading Parameter. C++ Funktionen: Eigenschaften
Programmiertechnik Teil 4 C++ Funktionen: Prototypen Overloading Parameter C++ Funktionen: Eigenschaften Funktionen (Unterprogramme, Prozeduren) fassen Folgen von Anweisungen zusammen, die immer wieder
MehrProgrammieren in Python
% Vorlesung 4: Input/ Output und Filehandling % Matthias Bieg Programmieren in Python Interaktiver Modus Code wird Zeile für Zeile programmiert und direkt ausgeführt Vorteil: Das Verhalten von Codefragmenten
MehrStrukturen 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