问一个有关STDIN_FILENO的问题,请指教
unix环境高级编程上有这么个例子:
“
下面的代码用于测试标准输入能否被设置位移量
#include <sys/types.h>
#include "ourhdr.h"
int main(void)
{
if(lseek(STDIN_FILENO,0,SEEK_CUR)==-1)
//由于有些文件的位移量可以是负值,所以测试一个文件能否设置位移量,要看它返回值
//是否小于0,而要看是否为-1;
printf("cannot seek!n");
else printf("seek ok!n");
exit(0);
}
执行下面的命令:a.out< /etc/motd
seek ok
“
上面的例子中从终端上述入了a.out< /etc/motd,那么STDIN_FILENO怎么知道应该取什么呢?
是因为有符号<的缘故吗??
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
书的序么前言里写了哪里可以找到全书的源码。
楼主我 也 在 看这本书,如何找到上面的例题在网上有下载吗?
要不自己敲太费尽了 !
STDIN_FILENO 就对应于标准输入. 实际上是文件描述符1.当然知道是什么了。
< 的作用是由操作系统实现的.具体可以看看管道的实现.