#include #define MAX 4096 // max größe des zeilenbuffers int main(int argc, char* args[]) { char* fname; // dateiname FILE* fp; // eingabestream char zeile[MAX]; // gelesene zeile if (argc>1) { fname= args[1]; fp=fopen(fname,"r"); // dateiname übernehmen wenn als argument angegeben und öffnen if ( fp==NULL )// fehler, datei nicht gefunden { fprintf(stderr,"file not found\n"); return 0; } } else // ansonsten von stdin lesen { fp= stdin; } while (fgets( zeile, MAX, fp)!= NULL ) // jede zeile der datei/stream auslesen bis EOF { printf("%s",zeile); // diese zeile ausgeben } return 1; }