gpt4 book ai didi

c - 在 Unix 中区分管道和文件

转载 作者:太空狗 更新时间:2023-10-29 17:08:34 25 4
gpt4 key购买 nike

给定一个 FILE*,是否可以确定底层类型?也就是说,是否有一个函数可以告诉我 FILE* 是管道、套接字还是常规磁盘文件?

最佳答案

有一个 fstat(2) 函数。

姓名 stat, fstat, lstat - 获取文件状态

大纲

   #include <sys/types.h>
#include <sys/stat.h>
#include <unistd.h>

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

你可以调用fileno(3)获取fd。

然后你可以调用S_ISFIFO(buf)来搞定。

关于c - 在 Unix 中区分管道和文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/899764/

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