gpt4 book ai didi

C++ PathFileExists 限制为 260 个字符

转载 作者:太空狗 更新时间:2023-10-29 21:03:14 28 4
gpt4 key购买 nike

根据 MSDN PathFileExists() 函数只支持文件路径 < 260

我想检查远程位置上是否存在路径。现在合法地我可以创建一个名称为 256 个字母长的文件,当我向它添加服务器名称时,总长度超过 260,因此 PathFileExists() 无法使用它。

还有什么其他方法可以检查文件是否存在?

最佳答案

因为所有Shell Path Handling Functions仅限于 MAX_PATH - 1 个字符,如果您需要支持更长的文件名,则必须使用 kernel32 函数。您的选择是:

  1. FindFirstFile
  2. CreateFile
  3. GetFileAttributes

同时 FindFirstFile非常简单,您需要调用 FindClose如果函数不返回错误代码。如果您在网络上查询文件,这会触发额外的网络往返。 CreateFile 也会触发额外的网络往返您必须在哪里清理调用 CloseHandleHANDLE .另外它可能会给 wrong answer .

剩下的选项要用GetFileAttributes如果您需要支持长度超过 MAX_PATH 个字符的文件名,建议使用查询文件是否存在的方法。

关于C++ PathFileExists 限制为 260 个字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13877994/

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