可能重复:
从C中的文件描述符
获取文件名从C中的文件指针获取文件名
我在这里有一个功能:
handle_file(FILE *file)
{
if(condition)
{
print filename and other msg;
}
}
Run Code Online (Sandbox Code Playgroud)
我们在这里唯一知道的是指向文件的指针; 是否可以根据指针获取文件名?
可能重复:
从C中的文件描述符获取文件名
是否有一种简单且(合理)可移植的方式从文件中获取文件名FILE*
?
我使用打开文件f = fopen(filename, ...)
,然后传递f
给其他各种函数,其中一些可能会报告错误.我想在错误消息中报告文件名,但避免传递额外的参数.
我可以创建一个自定义包装器struct { FILE *f, const char *name }
,但是可能有更简单的方法吗?(如果FILE*
未打开使用fopen
我不关心结果.)