虽然使用默认的控制台字体 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/