问一个有关STDIN_FILENO的问题,请指教

发布于 2022-07-18 09:20:44 字数 650 浏览 7 评论 3

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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

攒眉千度 2022-07-22 08:55:46

书的序么前言里写了哪里可以找到全书的源码。

谎言月老 2022-07-22 07:22:37

楼主我 也 在 看这本书,如何找到上面的例题在网上有下载吗?
要不自己敲太费尽了 !

靑春怀旧 2022-07-21 19:18:14

STDIN_FILENO 就对应于标准输入. 实际上是文件描述符1.当然知道是什么了。

< 的作用是由操作系统实现的.具体可以看看管道的实现.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文