如何获取fileName有FILE *?

在我class上我有FILE* ascii_file; 数据成员,始终通过类构造函数初始化。 如何获取asci_file完整路径? 我不想存储有关文件期望ascii_file更多信息,并希望它可以在windows,linux和solaris上运行。

此任务将需要不可移植的代码。

在Windows上,您可以使用_fileno将FILE*转换为CRT文件描述符,然后使用_get_osfhandle转换为OS句柄。

然后你可以得到这里显示的文件名(使用文件映射)。

从文件句柄中获取文件名

这是Linux的解决方案:

从C中的文件描述符获取文件名