gpt4 book ai didi

c - 从C中的文件描述符中检索文件名

转载 作者:IT老高 更新时间:2023-10-28 12:24:24 26 4
gpt4 key购买 nike

是否可以在 C 中获取文件描述符 (Linux) 的文件名?

最佳答案

您可以使用 readlink/proc/self/fd/NNN 上,NNN 是文件描述符。这将为您提供文件打开时的名称——但是,如果文件从那时起被移动或删除,它可能不再准确(尽管 Linux 在某些情况下可以跟踪重命名)。要验证,stat 给定的文件名和 fstat 您拥有的 fd,并确保 st_devst_ino 是一样。

当然,并非所有文件描述符都引用文件,对于那些您会看到一些奇怪的文本字符串,例如 pipe:[1538488]。由于所有真实文件名都是绝对路径,因此您可以很容易地确定哪些是绝对路径。此外,正如其他人所指出的,文件可以有多个指向它们的硬链接(hard link)——这只会报告打开它的那个。如果您想查找给定文件的所有名称,您只需遍历整个文件系统。

关于c - 从C中的文件描述符中检索文件名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1188757/

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