C 可以在Windows中获取指针的文件名吗?

C 可以在Windows中获取指针的文件名吗?,c,windows,c89,C,Windows,C89,据我所研究,为了从指针(可能是内存位置)获取文件名,我们需要获取它的文件描述符编号,然后可以使用该编号间接向操作系统请求文件名。也许可以通过导航它的proc目录,或者有不同的方法来实现这一点 但真正的问题是 在Windows中可能吗 因为我的代码是用C编写的,所以我正在寻找一种专门使用C的方法 === 只是为了参考 typedef struct { int level; /* fill/empty level of buffer */

据我所研究,为了从指针(可能是内存位置)获取文件名,我们需要获取它的文件描述符编号,然后可以使用该编号间接向操作系统请求文件名。也许可以通过导航它的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;       

似乎可以将函数与参数一起使用。我不在Windows上,无法测试,但也是由建议的。

我只是给出了
/proc
作为示例,我只是想知道Windows是否有其他方法来获取进程的文件名,可能是通过图书馆界面或其他什么…如果有人有机会写一个关于改进方法的答案,那么…有人能提出建议,在没有任何背景信息的情况下,添加一个不向上投票/向下投票的指南吗…我不是在嘲笑或嘲笑任何人…但我已经这么久了,(这是我的一个二级帐户)我看到一些用户在事先不知情的情况下投票支持Q/A,如果答案被编辑,他们不会回来更新投票。也许会有一个为期一天的通知程序,选民可以通过它收听对他们投票的答案的编辑。此外,该答案只有链接,没有预定义库函数或其他东西的C引用。这也将防止用户无故获得额外分数。(-2+10!=-2)来自文件句柄(非CRT)是。。。但是指向随机内存的指针呢?否。如果OP使用的是
句柄,此答案是正确的,但是如果OP使用的是指向内存的随机指针,则请求是不可能的。@Mgetz我用我能找到的唯一可能的东西来回答,因为指针指向“可能是内存位置”除非您事先知道所指向的数据是什么,否则几乎不可能对这些数据做任何事情。@Willecles yep,aware只是想指出并指出您可以从CRT
文件中获取
句柄
@HelloWorld您是什么意思?这是用于从
句柄
获取文件名的win32 API,您可以从
文件
获取该文件名。这相当于使用/proc on*nix,但是“Windows方式”。@willecles OP更新了他们的问题,看起来他们可以通过和上面链接的方法获得
句柄