【发布时间】:2011-02-03 14:29:33
【问题描述】:
我正在编写一个应该通过标准输入读取输入的程序,所以我有以下结构。
FILE *fp=stdin;
但是,如果用户没有将任何内容通过管道传输到程序中,这只会挂起,我如何检查用户是否真的将数据传输到我的程序中,例如
gunzip -c file.gz |./a.out #should work
./a.out #should exit program with nice msg.
谢谢
【问题讨论】:
-
备案,程序不挂;它只是在等待输入。如果您发送 EOF(在大多数平台上为 Ctrl-D),则会将其解释为输入提前结束。