gpt4 book ai didi

c++ - 是否可以为 FindFirstFile() 函数使用引号?

转载 作者:搜寻专家 更新时间:2023-10-31 00:50:54 24 4
gpt4 key购买 nike

我尝试使用 FindFirstFile() 返回特定的 .xls 文件。然而,由于命名约定,它也会返回 .xlsx。可以在文件资源管理器中使用“*.xls”以仅返回 .xls 文件。这对函数有用吗

最佳答案

正如@Hans Passant 所说,您被对 8.3 MSDOS names 的遗留支持所困扰.

您的 LovelyTable.xlsx 还有一个辅助名称,例如 LOVELY~1.XLS 而这个辅助名称就是 FindFirstFile()/FindNextFile() 给你。避免此类结果的唯一可靠方法是重新检查返回给您的内容。

如果您不想更改应用程序,您还可以从卷中删除短名称并禁用它们的生成。您可以查看 fsutil命令(它的 8dot3name 子命令),但请注意,即使在现在,这也可能会破坏某些软件。 (例如软件认为它安装在C:\PROGRA~2\下)


我认为 FindFirstFileEx()可以过滤掉8.3的名字:

FindFirstFileEx(searchPattern, FindExInfoBasic, ...)

但它不能。感谢@RbMm 清除了这个问题。 FindExInfoBasic 仅避免填写WIN32_FIND_DATAcAlternateFileName 字段。您仍然会收到通过短名称发现的文件。

关于c++ - 是否可以为 FindFirstFile() 函数使用引号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56631624/

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