Estoy escribiendo un programa que debe leer la entrada a través de stdin, por lo que tengo la siguiente construcción.¿Cómo puedo verificar si mi programa tiene datos conectados
FILE *fp=stdin;
Pero esto sólo se bloquea si el usuario no ha canalizado nada en el programa, ¿cómo puedo comprobar si el usuario está realmente de tuberías de datos en mi programa como
gunzip -c file.gz |./a.out #should work
./a.out #should exit program with nice msg.
gracias
Para el registro, el programa no está colgando; simplemente está esperando la entrada. Si envía un EOF (Ctrl-D en la mayoría de las plataformas), se interpreta como si la entrada terminara temprano. – greyfade