#include <sys/stat.h> #include <sys/types.h> // wird von unistd.h benötigt #include <unistd.h> // enthält read und write #include <stdio.h> // wird für Linux benötigt #include <fcntl.h> #include <errno.h> // für errno int main( int argc, char *argv[] ) { int fd; // FileDescriptor int count; // Anzahl der ausgelesenen Zeichen ssize_t length = 255; // Pufferlänge char buffer[length]; // Speicherung der ausgel. Zeichen fd = open("datei.txt", O_RDWR); //O_RDONLY, O_WRONLY, O_RDWR if( fd < 0 ) // Fehlerbehandlung perror("Fehler beim öffnen der Datei"); // Hier wird errno auf != 0 gesetzt else count = read( fd, buffer, length ); if( count > 0 ) write(fd, buffer, count); // Buffer ausgeben if( errno == 0 ) // Nur ausführen, wenn kein Fehler aufgetreten ist for( i=0; i<count; i++ ) printf("%c", buffer[i]); // %c = character ausgeben close(fd); // Datei schließen return 0; }