【发布时间】:2011-05-10 14:35:35
【问题描述】:
如果 fclose(0) 被调用,这会关闭标准输入吗?
我问这个的原因是由于某种原因,stdin 在我的应用程序中被关闭,我不知道为什么。我检查了 fclose (stdin) 并且它不在应用程序中,所以我想知道 fclose(0) 是否会导致未定义的行为,例如关闭标准输入?
如果不是,stdin 可能被错误关闭的其他方式有哪些?
【问题讨论】:
-
fileno( stdin ) == 0,但是 stdin != 0
-
您要求错误方法来关闭标准输入?那么我想我们大多数人现在都在这样做:-?
-
您确定它是在in您的应用程序中关闭,而不是在您的应用程序之前关闭吗?
stdin是否在您的程序一次运行开始时正常工作,然后在运行中间停止工作?如果没有,也许调用你的程序关闭(或从未设置)标准输入。