gpt4 book ai didi

c++ - 如何获取 windows xp gui 默认代码页?

转载 作者:行者123 更新时间:2023-11-30 03:01:51 24 4
gpt4 key购买 nike

问题是,在非英语版本的 XP 上,控制台和 gui 应用程序的代码页不同,例如,如果我在波兰语版本上在控制台中写入:

echo zażółć gęślą jaźń > somefile.txt

该文件的内容是:

zaľ˘† g©lĄ ja«ä 

如果我将其放入 cmd 文件,则不会发生这种情况。那就是这段带有波兰语字母的文字。但是,如果我创建一个使用非英语字符命名的文件或目录,那么无论它是从 cmd 还是从 finger 运行,效果总是乱码。

所以我的问题是如何获取其余 Windows 运行的第二个代码页。在我的例子中,这个 CP 是 1250 - 但如何从 C++ 中获取这个数字?

GetConsoleCP()GetConsoleOutputCP() 都返回 852(这是正确的),GetThreadLocale() 返回 1045。

如果我尝试 chcp 1045,它会给出“错误的代码页”。

最佳答案

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\CodePage\ACP - 此注册表项存储 ANSI 代码页编号(在您的情况下应为 1250)和 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\CodePage\OEMCP 存储 OEM 代码页。

哦,还有GetACPGetOEMCP功能。

关于c++ - 如何获取 windows xp gui 默认代码页?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10702103/

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