可能是重复问题:
如何在C语言中从文件描述符获取文件名?
如何获取FILE *对应的文件名?
在C语言中,有没有一种方法可以从文件指针中找到文件名?
fp = fopen(file,"r");
从fp中,是否可以获取我已经打开的文件名?
可能是重复问题:
如何在C语言中从文件描述符获取文件名?
如何获取FILE *对应的文件名?
在C语言中,有没有一种方法可以从文件指针中找到文件名?
fp = fopen(file,"r");
从fp中,是否可以获取我已经打开的文件名?
我认为不是这样的,因为一个文件*可能指的是根本没有名称的东西。这可能取决于你的系统,所以如果你不关心可移植性,可以尝试查看编译器对FILE的定义(如果有的话)。很有可能你唯一的方法就是在打开时保存名称。
还有一些其他可能有点技巧的方法- 可以查看这个链接:
http://bytes.com/topic/c/answers/218921-how-get-filename-file-pointer
干杯!
点击此处了解为什么这很困难,而且无法以可移植的方式完成。
http://discuss.fogcreek.com/joelonsoftware5/default.asp?cmd=show&ixPost=179112