【发布时间】:2021-12-18 01:06:45
【问题描述】:
我在 macOS 上(文件名不区分大小写),我需要找出文件的实际大小写正确名称。例如,我不知道我的文件是否有名称 A.txt 或 a.txt 或 A.TXT 或 a.TXT 等。我想在屏幕上正确显示名称。
C/C++中最快的方法是什么?
更新:我也尝试了<filesystem> 和 Qt 框架(我的应用程序在 Qt 中)。但是这些库唯一可能的解决方案似乎是读取父目录中所有条目的完整列表,然后比较这些子项中是否有任何与给定名称模式匹配。出于性能原因,这显然是不可行的。
【问题讨论】:
-
有人选择了“需要更多关注”。我不同意这种观点。我会选择“缺乏细节或清晰度”或“需要调试细节”之类的东西。但我最近了解到这样一个事实,即关于 SO 的问题不需要最低限度的努力。你试过
<filesystem>吗? -
哦,是的。我应该提到我也尝试过
和 Qt 框架(我的应用程序在 Qt 中)。但唯一可能的解决方案似乎是读取父目录中所有条目的完整列表,然后比较其中是否有任何与名称模式不匹配。 (我要更新问题) -
如果没有一致的命名,可能值得强制使用一个小脚本通过目录并将所有内容重命名为全部小写。
-
@user4581301 不,我不想更改实际名称(它们是用户的文件,不是我的!)。我的问题是关于如何获得实际大小写正确的名称,因为我只知道例如小写名称。
-
关于“macOS(文件名不区分大小写)”:区分大小写或不区分大小写是文件系统的属性,而不是 macOS。