据我对SO的研究,为了从指针(也许是存储位置)获取文件名,我们需要获取它的文件描述符号,然后可以将其用于间接请求操作系统文件名。也许通过导航到其proc目录,或者可能有不同的依赖于OS的方式来执行此操作。
但是这里真正的问题是,
在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上并且无法测试,但是FileNameInfo
也建议这样做。