MinGW(ucrt64)环境下使用ncursesw库显示中文字符异常的问题求助
MinGW(ucrt64)环境下使用ncursesw库显示中文字符异常的问题求助
最近我想用C语言结合libncursesw库开发一个跨平台的TUI程序,为此测试了好几种方案,结果在显示含中文字符的字符串时出现了各种异常情况,具体如下:
- msys版ncurses搭配char类型字符串:显示正常
- ucrt64版ncurses搭配char类型字符串:显示错位
- ucrt64版ncurses搭配wchar_t类型字符串:在CMD中完全不显示,在msys环境里显示错位
- 官方编译版ncurses搭配char类型字符串:显示出类似
M-f~L~IM-e...的乱码 - 官方编译版ncurses搭配wchar_t类型字符串:完全不显示
看起来msys版的效果是符合预期的,但它没法在CMD里运行,会提示Error opening terminal: xterm-256color的错误。所以目前我觉得ucrt64版本(也就是程序链接/ucrt64/bin/libncursesw6.dll的情况)是比较可行的解决方案,但现在卡在了显示错位的问题上,就像截图里呈现的字符错位效果那样。
备注:内容来源于stack exchange,提问作者RocketDev
相关产品推荐
相关产品推荐

