就我对SO的研究而言,为了从指针(可能是内存位置(获取文件名,我们需要获取它的文件描述符编号,然后可以使用该编号间接请求操作系统获取文件名。也许通过导航它的proc目录,或者有不同的方式依赖于操作系统
但真正的问题是,
在Windows中可能吗?
我正在寻找一种特别使用C的方法,因为我的代码是用C编写的。
===
只是为了参考,
typedef struct {
int level; /* fill/empty level of buffer */
unsigned flags; /* File status flags */
char fd; /* File descriptor */
unsigned char hold; /* Ungetc char if no buffer */
int bsize; /* Buffer size */
unsigned char *buffer; /* Data transfer buffer */
unsigned char *curp; /* Current active pointer */
unsigned istemp; /* Temporary file indicator */
short token; /* Used for validity checking */
} FILE;
似乎可以将GetFileInformationByHandleEx函数与参数FileNameInfo
一起使用。我不在Windows上,无法测试,但这个答案也建议我这样做。