1

我已经阅读了很多关于这个主题的文档,但我似乎无法弄清楚。

原因是我必须处理可能比MAX_PATH参数长的文件路径,导致很多问题

我已经用等效的 ( ) 替换了我的所有ANSI-functions ,以便支持带有前缀的扩展文件路径长度:.GetFileAttributesAUNICODEGetFileAttributesW\\?\

但是,我还需要检查文件路径是否是符号链接,我需要知道文件大小、上次修改日期等。

为此,我使用了该stat函数,如下所示:

if (fstat(LongFilePath, &file_info) == 0) //THIS FAILS WITH THE ENAMETOOLONG FOR LONG FILEPATHS

ENAMETOOLONG因此,由于文件名太长(超过MAX_PATH),问题再次出现在错误中。

所以,我发现我可以用fstat它的描述符来访问文件。但是,要获取描述符,我需要使用fopen,这也有ENAMETOOLONG局限性。

所以,我的问题是。对于stat超过MAX_PATH

4

0 回答 0