从C中的文件指针获取文件名[重复]

Posted

技术标签:

【中文标题】从C中的文件指针获取文件名[重复]【英文标题】:Obtain filename from file pointer in C [duplicate] 【发布时间】:2012-03-30 05:51:37 【问题描述】:

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

有什么方法可以从 C 中的文件指针中找到文件名?

fp = fopen(file,"r");

从fp,是否可以得到我打开的文件名?

【问题讨论】:

***.com/questions/4305355/… ***.com/questions/1188757/… 感谢参考,并为之前没有看它而道歉.. 【参考方案1】:

我不相信,因为文件* 可能是连名字都没有的东西。可能存在依赖于平台的方式,具体取决于 I. 您的系统,因此,如果您不关心可移植性,请尝试查看编译器的 FILE 定义(如果有的话)。奇怪的是,您唯一的方法是在打开名称时保存名称。

还有其他一些潜在的骇人听闻的方法 - 请查看此链接:

http://bytes.com/topic/c/answers/218921-how-get-filename-file-pointer

干杯!

【讨论】:

【参考方案2】:

请参阅此处了解为什么这很难,并且不能以便携的方式完成。

http://discuss.fogcreek.com/joelonsoftware5/default.asp?cmd=show&ixPost=179112

【讨论】:

以上是关于从C中的文件指针获取文件名[重复]的主要内容,如果未能解决你的问题,请参考以下文章

GNU链接器:如果头文件中的指针被声明为NULL和/或extern [重复]

分段错误而不是显示消息 - 使用 c 中的指针从文件中读取

如何从在 C 中存储 shell 脚本输出的指针获取多个字符串?

git lfs 使用指针文件处理 repo 中的重复文件

C 语言文件操作 ( ftell 函数 | 使用 ftell 函数获取当前指针位置 | 通过 ftell 计算文件大小 )

指向整个数组的C ++指针[重复]