相关疑难解决方法(0)

C相当于fstream的偷看

我知道在C++中,您可以使用以下方式查看下一个字符:in.peek();.

当我试图"查看"C中文件的下一个字符时,我该怎么做呢?

c stdio filestream peek

27
推荐指数
2
解决办法
2万
查看次数

如何检查stdin是否仍然没有阻塞打开?

我需要用纯C编写的程序在stdin关闭时停止执行.

在程序主循环中完成了不确定的工作,并且我无法在那里使用阻塞检查(例如getc())(没有数据应该到达stdin - 它只是在未知时间保持打开状态).

我打算在实现inetd,xinetd或其类似物中托管的网络守护程序时使用所描述的功能 - 它应该在连接保持打开时在stdout上发出数据,并在关闭时正确完成工作.现在我的程序被托管服务杀死,因为它在连接终止后不会停止.

我想知道fctntl()O_NONBLOCK标志应用于stdin描述符是否允许我read()在非阻塞模式下使用函数?我应该select()以某种方式使用?

PS数据不是假定的,但可能会到达stdin.一种非阻塞读数的方式应该是问题的答案.

c stdin stream nonblocking

9
推荐指数
1
解决办法
6772
查看次数

标签 统计

c ×2

filestream ×1

nonblocking ×1

peek ×1

stdin ×1

stdio ×1

stream ×1