阅读额外字符的并发症

标签 c windows winapi character-encoding

虽然使用默认的控制台字体 Raster Fonts 8x12 我无法使用 ReadConsoleOutputCharacter()。这些字符将打印为 ?


如果我将控制台字体更改为“Consolas”或“Lucida Console”,这些额外的字符将由 ReadConsoleOutputCharacter() 打印出来没有问题。


我能做些什么吗?

最佳答案

无论如何,我修复了它在控制台 I/O 映射转换后更改语言环境:

    SetConsoleOutputCP(GetACP());
    SetConsoleCP(GetACP());
    setlocale(LC_ALL, "");

@大卫赫弗南 我建议你阅读 this

关于阅读额外字符的并发症,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28126715/

相关文章:

windows - 使用 zlib 在 Win32 上构建 OpenSSL

c++ - 16 bpp 到 32 bpp 的转换

c# - Win32 浏览文件夹对话框 : wrong folder returned when user creates a new folder

c - 通过 remap_pfn_range 将保留的高端内存映射到用户空间

c - 使用代码 AP2 的 spoj 解决方案似乎是正确的,但在在线判断上返回编译错误,但在代码块上工作正常

python - 检查应用程序是否正在运行,而不是作为后台进程运行

c++ - 在调用进程的上下文中通过 win32 执行批处理,从而保留环境变量

c - 通过签名查找函数时如何知道地址范围?

了解 C 真的会损害您用高级语言编写的代码吗?

windows - Windows XP 和 Ubuntu Linux 中的 ASCII