有没有一种方法可以忽略 Qt C++ 中的文件名大小写敏感度?

Is there a method to ignore the file name case senstivity in Qt c++?

我想用相同的名称保存两个不同的文件,每个文件只在大写和小写方面有所不同。我正在使用 windows。 C++ Qt 中是否有忽略大小写敏感性的函数?

这里的问题是 Windows API 通常不允许创建名称区分大小写的文件,尽管 NTFS 文件系统本身支持这一点。

然而,API 中有一个函数 CreateFileA,可以用标志 FILE_FLAG_POSIX_SEMANTICS 调用它,它允许访问名称仅大小写不同的文件。 但是,documentation 还指出:

Access will occur according to POSIX rules. This includes allowing multiple files with names, differing only in case, for file systems that support that naming. Use care when using this option, because files created with this flag may not be accessible by applications that are written for MS-DOS or 16-bit Windows.

我不知道,其他应用程序,如 Windows 资源管理器,在遇到此类文件时会如何表现。

Windows 已经忽略了区分大小写,因此只要在 Windows 上执行代码,就无需执行任何操作来忽略它.

问题是当您需要根据区分大小写来区分两条路径时。你真的应该避免在同一个目录中有同名文件。