可能重复:
Getting Filename from file descriptor in C
How get fileName having FILE*?
有什么办法可以在C?
中找到文件指针中的file_namefp = fopen(file,"r");
从fp开始,是否可以获取我打开的文件名?
答案 0 :(得分:2)
我不相信,因为文件*可能是某个甚至没有名字的东西。可能存在依赖于平台的方式,取决于I.您的系统,因此如果您不关心可移植性,请尝试查看编译器的FILE定义(如果有)。可能的情况是你唯一的办法是在打开名字时保存名字。
还有一些其他潜在的hacky方式 - 请检查此链接:
http://bytes.com/topic/c/answers/218921-how-get-filename-file-pointer
干杯!
答案 1 :(得分:0)
请参阅此处了解为何这很难,并且无法以便携方式完成。
http://discuss.fogcreek.com/joelonsoftware5/default.asp?cmd=show&ixPost=179112