gpt4 book ai didi

c - 为什么 open() 失败并且未设置 errno?

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:14:02 24 4
gpt4 key购买 nike

在我的代码中,open() 失败,返回码为 -1,但不知何故 errno 未设置。

int fd;
int errno=0;
fd = open("/dev/tty0", O_RDWR | O_SYNC);
printf("errno is %d and fd is %d",errno,fd);

输出是

errno is 0 and fd is -1

为什么没有设置 errno?我如何确定 open() 失败的原因?

最佳答案

int errno=0;

问题是您重新声明了 errno,从而隐藏了全局符号(它甚至不需要是普通变量)。结果是open 设置的和您打印的是不同的东西。相反,您应该包含标准的 errno.h

关于c - 为什么 open() 失败并且未设置 errno?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11396589/

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