gpt4 book ai didi

c - UNIX 重定向编程问题

转载 作者:行者123 更新时间:2023-11-30 17:44:42 25 4
gpt4 key购买 nike

我正在尝试模拟 unix 中的重定向和管道(<、>、>>、|)。我已经设法对除附加(>>)之外的所有内容进行编程。这是代码的和平,我检查 >> 是否在 cmd 字符串中。

   if(!strcmp(cmd[i], ">>")){
aux[i] = NULL;
fdW = open(cmd[i+1], O_APPEND);
dup2(fdW, STDOUT_FILENO);
close(fdW);
}

但是,当我调用 dup2() 将 STDOUT 重定向到打开的文件时,会返回此错误:

  cat: write error: Bad file descriptor

有谁知道为什么 O_APPEND 会发生这种情况,而不是 O_WRONLY。

最佳答案

问题是我不知道我需要使用 O_WRONLY,即使我正在使用 O_APPEND

关于c - UNIX 重定向编程问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19884782/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com