gpt4 book ai didi

c - Linux - 为什么在调用 write(2, "...") 后不显示错误消息?

转载 作者:太空宇宙 更新时间:2023-11-04 07:39:13 26 4
gpt4 key购买 nike

我在 Ubuntu 10.04 LTS 下使用 gcc 版本 4.4.3 (Ubuntu 4.4.3-4ubuntu5) 编译了以下代码。

user@ubuntu:~/doc$ cat simple_write.c
#include <unistd.h>
#include <stdlib.h>

int main()
{
if ((write(1, "Here is some data\n", 18)) != 18)
write(2, "A write error has occurred on file descriptor 1\n",46);

exit(0);
}

user@ubuntu:~/doc$ ./simple_write
Here is some data

有人可以向我解释为什么没有打印第二条错误消息吗?它是否被重定向到其他地方?那么,如何让它显示出来呢?

谢谢

最佳答案

第二条消息没有显示,因为第一个 write() 成功写入了 18 个字符。

为了演示,将 != 更改为 ==

关于c - Linux - 为什么在调用 write(2, "...") 后不显示错误消息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5799000/

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