gpt4 book ai didi

C 使用 write(2) 检查 fd 是否打开

转载 作者:太空宇宙 更新时间:2023-11-04 01:19:28 24 4
gpt4 key购买 nike

是否可以通过系统调用 write(2) 知道我正在向其发送数据的 fd 是打开还是关闭?

我的问题是我正在写入一个时而关闭时而打开的 fd。我认为必须有一种方法可以通过 write 了解这种情况,但我找不到。

最佳答案

您可以使用不影响文件(如果打开)的系统函数,而不是write,使用fstat ( man page )

int fstat(int fd, struct stat *buf);

例子

struct stat buf;
if (fstat(fd, &buf) == -1) {
// fd is either closed or not accessible
}

fstat() 如果不能使用文件描述符则返回 -1(否则为 0)。

关于C 使用 write(2) 检查 fd 是否打开,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47738054/

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