从C中的文件指针获取文件名

时间:2012-03-30 05:51:38

标签: c filenames file-pointer

  

可能重复:
  Getting Filename from file descriptor in C
  How get fileName having FILE*?

有什么办法可以在C?

中找到文件指针中的file_name
fp = fopen(file,"r");

从fp开始,是否可以获取我打开的文件名?

2 个答案:

答案 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