gpt4 book ai didi

winapi - GetFullPathName 是否适用于长于 MAX_PATH 的相对路径?

转载 作者:行者123 更新时间:2023-12-03 00:34:48 25 4
gpt4 key购买 nike

GetFullPathName() 的文档说为了使用长于 MAX_PATH (260 个字符)的路径,我需要在前面添加文件命名空间前缀:\\?\。然而,the general documentation on file names表示此前缀不能与相对路径一起使用,因此相对路径的长度始终限制为 260 个字符。这是否意味着无法将 GetFullPathName() 与长于 MAX_PATH 的相对路径一起使用? (如果是这样,那么我的理解是该函数并不真正支持长路径,除非传递的路径已经是完整的路径。)

最佳答案

同意,这是无稽之谈。原生api没有相对路径的概念,它是纯粹的winapi层功能。它可以被解释为一种让函数返回 native 路径名的方法。但事实并非如此,我查了一下。看起来像是复制/粘贴文档错误。

请密切关注球,当您需要 GetFullPathName() 时,无论如何您已经输了。因为GetCurrentDirectory()已经受到MAX_PATH的限制。这么长的路径支持已经不可能了。

一般建议是永远不要依赖相对路径,即使您不关心长路径支持。事故太多了。如果您想编写一个预计从命令行驱动的简单控制台模式应用程序,则只有合理的选择退出。然后你就不在乎了,因为命令行解释器受到 MAX_PATH 的阻碍。

关于winapi - GetFullPathName 是否适用于长于 MAX_PATH 的相对路径?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28137284/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com