gpt4 book ai didi

c - 如何查找 read() 返回的错误?

转载 作者:行者123 更新时间:2023-12-04 10:46:03 26 4
gpt4 key购买 nike

我正在使用管道读取父进程发送的数据。父进程关闭读端并在管道的写端写入数据。同理,child关闭写入端,从读取端读取数据。

但在我的例子中,read 返回了 "-1",这是错误值。我应该如何找到在读取调用中发生了哪个错误(如 EAGAIN, EBADF, EIO )?谢谢

最佳答案

How should i found that, which error(like EAGAIN, EBADF, EIO ) has been occurred in read call?

打印 errno .一个更好的选择是做 perror ,就在通话之后。

if (read(...) < 0)
perror("read");

或使用 strerror如果您需要自己获取消息:

printf("%s\n", strerror(errno));

请注意,您需要 #include <errno.h>如果你使用 errno直接。

关于c - 如何查找 read() 返回的错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15129421/

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