有没有办法从文件描述符或FILE指针中检索路径信息?
我知道在文件描述符是套接字,管道等的情况下,这些数据可能并不总是相关/有用。
答案 0 :(得分:4)
我不相信有任何便携方式,但例如在Linux上,你可以在readlink
fileno "/proc/self/fd/
上调用"
,内核会给你一个路径,如果它可以,或者各种有趣的外观之一如果没有字符串。
答案 1 :(得分:3)
如果您有幸使用Mac OS X,可以使用以下代码:
#define _DARWIN_C_SOURCE
#include <sys/fcntl.h>
.
.
.
char pathbuf[PATH_MAX];
if (fcntl(fd, F_GETPATH, pathbuf) >= 0) {
// pathbuf now contains *a* path to the open file descriptor
}
请注意,您获取的路径不一定是用于打开文件的路径...如果有硬链接,尤其是您获得的路径将是 的有效路径文件。
答案 2 :(得分:0)
文件可以有一个或多个名称,因此没有std方式。 我不确定是否可以有特定的操作系统。