当前位置:   article > 正文

描述符重定向dup2_dup2 stdin_fileno

dup2 stdin_fileno

函数原型:

#include <unistd.h>
int dup2(int oldfd, int newfd);
函数功能描述:

将描述符newfd重定向到oldfd

下面是一个demon,将文件a.txt的描述符重定向到标准输出STDIN_FILENO:

  1. #include <stdio.h>
  2. #include <unistd.h>
  3. #include <sys/types.h>
  4. #include <sys/stat.h>
  5. #include <fcntl.h>
  6. #include <string.h>
  7. #include <stdlib.h>
  8. int main(int argc, char *argv[])
  9. {
  10. int fd, refd;
  11. char buf[1024] = "hello\n";
  12. fd = open("a.txt", O_RDWR|O_CREAT, 0644);
  13. if (fd == -1)
  14. {
  15. printf("open file error!\n");
  16. exit(-1);
  17. }
  18. refd = dup2(STDIN_FILENO, fd);
  19. if (refd == -1)
  20. {
  21. printf("dup2 error!\n");
  22. exit(-1);
  23. }
  24. write(fd, buf, strlen(buf));
  25. close(fd);
  26. return 0;
  27. }

运行结果:

hello

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家自动化/article/detail/462669?site
推荐阅读
相关标签
  

闽ICP备14008679号