#include <stdio.h>
#include <stdlib.h>
#define BUFSIZE 100000
int main(int argc, char **argv) {
FILE *point;
char line[BUFSIZE];
if(argc>1) { // wenn cat mit einem argument aufgerufen wird...
point = fopen(argv[1], "r"); // öffne argv[1] und speicher den stream in point
}
if(argc==1) { // ohne argument sollte es input über stdin geben
point = stdin;
}
if(point == NULL) { /* falls es a) die datei nicht gab
* b) wir keine leserechte haben oder
* c) nichts gepipt wird
*/
fprintf(stderr, "Input missing.\n");
return 0;
}
else
{
while(fgets(line,BUFSIZE,point);) { // solange noch gelesen wird... lies point zeilenweise aus und speicher das ausgelesene in line
printf("%s", line); // gib den puffer line aus
}
fclose(point); // der stream wird geschlossen
return 1;
}
}