文档GetFullPathName()说明为了使用长度超过MAX_PATH(260个字符)的路径,我需要在文件命名空间前缀前加上:\\?\.但是,文件名的一般文档说明此前缀不能与相对路径一起使用,因此相对路径的长度始终限制为260个字符.这是否意味着没有办法使用GetFullPathName()相对路径长于MAX_PATH?(如果是这样,那么我的理解是该函数不支持长路径,除非传递的路径已经是完整路径.)
同意,那是荒谬的.原生api没有相对路径的概念,它是一个纯粹的winapi层功能.它可以被解释为使函数返回本机路径名的一种方法.但它没有,我查了一下.看起来像是复制/粘贴doc bug.
当你需要GetFullPathName()时,请注意球,然后你已经丢失了.因为GetCurrentDirectory()已经受到MAX_PATH限制.所以长路径支持已经不在窗口了.
通用建议是永远不要依赖相对路径,即使您不关心长路径支持.事故太多了.如果你想编写一个预期从命令行驱动的简单控制台模式应用程序,那么唯一合理的选择退出.然后你不在乎,因为命令行解释器是MAX_PATH阻塞的.
| 归档时间: | 
 | 
| 查看次数: | 378 次 | 
| 最近记录: |