如何获取fileName有FILE *?

时间:2010-11-29 15:47:37

标签: c++ c

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

2 个答案:

答案 0 :(得分:4)

这是Linux的解决方案:

Getting Filename from file descriptor in C

答案 1 :(得分:4)

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

在Windows上,您可以使用_filenoFILE*转换为CRT文件描述符,然后使用_get_osfhandle转换为操作系统句柄。

然后你可以获得如here所示的文件名(使用文件映射)。

  

从文件中获取文件名   处理