Ich schreibe ein Programm, das Eingabe über Stdin lesen sollte, also habe ich folgendes Konstrukt.Wie überprüfe ich, ob mein Programm Daten in es piped hat
FILE *fp=stdin;
Aber das hängt nur, wenn der Benutzer etwas in das Programm nicht geleitet hat, wie kann ich überprüfen, ob der Benutzer tatsächlich Daten in mein Programm wie
gunzip -c file.gz |./a.out #should work
./a.out #should exit program with nice msg.
dank
Für die Aufzeichnung wird das Programm nicht hängen; es wartet einfach auf Eingabe. Wenn Sie ein EOF (Ctrl-D auf den meisten Plattformen) senden, wird dies so interpretiert, als wäre die Eingabe vorzeitig beendet. – greyfade