【发布时间】:2015-08-16 22:24:37
【问题描述】:
一点背景知识,我正在编写一个玩游戏“盒子”的程序,它在 linux 命令行中运行并用 C 编写。有一个提示等待用户输入,然后用 fgets() 读取并解释等等。
作为任务规范的一部分,如果我到达“等待用户输入时文件结束”,我必须返回一个特定错误。我知道 fgets() 在到达 EOF 时返回 null ...但是说我有
fgets(input,max_buffer,stdin);
在提示循环中,如果用户过早退出,使用 CTRL+C 或 CTRL+D 是否意味着 input == NULL?
我什至可以检测到用户何时使用 fgets 执行此操作?
只是想解决这个问题,在此先感谢您的帮助。
(操作系统:UNIX) (编译器:gcc - c90)
【问题讨论】:
-
Ctl-C 杀死程序,所以
fgets永远不会返回。 Ctl-D 导致文件结束条件。man fgets