c - 如何从 C 中的 FILE* 结构中获取文件名

标签 c file

是否可以在 C 中检索文件名?如果创建的文件如下所示:

     FILE *f = fopen ("foo.txt", "r");

“foo.txt”来自一个超出范围的变量。有没有办法从 FILE 结构中检索它?

最佳答案

事实上,您不能FILE 对象中检索文件名。

但是,如果传递给 fopen 的名称对您很重要,并且该变量出于某种原因超出范围,您总是可以将 FILE* 包装在一个结构,即。

struct file_with_name {
   FILE *f;
   char *name; /* OR char name[MAX] */
}

至少那是我会做的,但这取决于您实际尝试做的事情。

关于c - 如何从 C 中的 FILE* 结构中获取文件名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7988784/

相关文章:

Java - 如何将 Files.lines() 的 URL 转换为 PATH

javascript - HTML 标记中的下载属性不适用于 BLOB 文件

c - GCC 中用于减小可执行文件大小的优化级别

c - Posix 信号量在 linux 中的源代码位置

c - bsearch 在循环中更改键

python - 读取存储在文本文件中的列表

ios - ios开发中获取文档文件夹后的路径

java - 如何减少 Java 中 ImageIcon 双数组的执行时间

使用 clone() 创建多个进程

c - *完全*相等的 double 为 (a==b) 返回 0