我已经查看了询问目录/文件名在 Windows 环境中是否区分大小写的问题/答案,以及那些讨论区分大小写搜索需求的问题/答案[通常在 Python 中,而不是在 C 中],所以我想我理解必不可少的事实,但没有一个帖子包含我的特定应用程序架构,以及我正在解决的问题。所以,让我简要解释一下我所说的应用程序架构。该应用程序的核心是使用 Adobe AIR 构建的。是的,这意味着大部分 U/I 都涉及 Flex 框架,但我需要帮助的文件处理问题不依赖于应用程序的 Flex U/I 部分。当我试图处理一个非常大的递归目录结构列表时,
我使用的函数套件是 FindFileFirst、FindFileNext 和 FindClose。如果我编写一个独立的测试程序,它会很好地列出目录、子目录和文件。目录和文件的大小写正确显示——就像它们在 Windows 资源管理器中正确显示一样,或者使用 dir 命令。
但是,如果我通过 Adobe ANE 界面启动完全相同的功能,我会收到完全相同的输出,但所有目录名称都将减少为小写。
现在,我应该澄清一下,当这段代码作为 Native Extension 执行时,它不是将数据传回 AIR,而是直接将结果输出到一个完全在 CRT 世界中打开和关闭的文件中,所以我们不是通过在两个不同的世界之间传递文本或字节数组来讨论任何类型的通信混乱。
不用在这个论坛上堆砌大量无关紧要的代码,我认为可以帮助任何能够帮助我的人是这些片段:
// This is where the output gets written.
FILE* textFile = _wfopen (L"Peek.txt", L"wt,ccs=UTF8");
WIN32_FIND_DATAW fdf;
HANDLE find = NULL;
wchar_t fullPath[2048];
// I am just showing the third argument as a literal to exemplify
// what, in reality is passed into the …
Run Code Online (Sandbox Code Playgroud)