/** * Datei auf der Konsole aufgeben. * * Schreiben Sie eine Funktion `print_file`, der man einen Dateinamen * bzw. Pfad zu einer Datei übergibt und die diese Datei dann auf der * Konsole ausgibt. Denken Sie daran, Fehler abzufangen und entsprechende * Fehlermeldungen auszugeben. */ #include #include #define BUFFER_SIZE 255 void print_file(const char* filename) { FILE *fh = fopen(filename, "r+"); if (!fh) { perror("Fehler: "); exit(1); } char buffer[BUFFER_SIZE]; size_t num_read; while ((num_read = fread(buffer, sizeof(char), BUFFER_SIZE, fh)) > 0) { fwrite(buffer, sizeof(char), num_read, stdout); } fclose(fh); } int main(int argc, char** argv) { if (argc < 2) { puts("Dateiname fehlt!"); exit(1); } print_file(argv[1]); return 0; }