免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1179 | 回复: 3
打印 上一主题 下一主题

看<Unix环境高级编程>,问问题? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2004-07-26 13:20 |只看该作者 |倒序浏览
最近在看《Unix环境高级编程》,有些地方不太明白。
书中有个测试标准输入是否能seeking的程序
int
main(void)
{
        if (lseek(STDIN_FILENO, 0, SEEK_CUR) == -1)
                printf("cannot seek\n";
        else
                printf("seek OK\n";
}
书中用这个程序是这样用的:
$a.out < /etc/motd
$cat < /etc/motd | a.out

请问这样运行程序是什么意思?

论坛徽章:
0
2 [报告]
发表于 2004-07-26 13:23 |只看该作者

看<Unix环境高级编程>,问问题?

第一个直接传的文件
第二个是用管道

论坛徽章:
0
3 [报告]
发表于 2004-07-26 13:33 |只看该作者

看<Unix环境高级编程>,问问题?

是把 /etc/motd 文件的文件描述符传给STDIN_FILENO,是这个意思吗?

论坛徽章:
0
4 [报告]
发表于 2004-07-26 14:34 |只看该作者

看<Unix环境高级编程>,问问题?

1,第一个是通过使用重定向,将/etc/motd文件的内容或其输出重定向为a.out的标准输入。
2,第二个是通过管道,将cat命令的输出结果连接到a.out的标准输入。
而cat < /etc/motd则跟第一个同样的原理,是通过重定向来确定cat命令的输入
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP