繁体   English   中英

使用Ncurses时无法打印宽字符(C ++)

[英]Wide Characters not printing while using Ncurses (C++)

下面的代码无法打印宽字符:

#include <ncurses.h>

using namespace std;

int main(void){
  initscr();
  printw("█");
  getch();
  endwin();
}

尽管所有库均已正确安装,但此代码似乎在某些计算机上有效,而在其他计算机上则无效。 (终端能够显示扩展的字符!)

我使用以下代码进行编译:

g++ -std=c++14 widechartest.cpp -o widechar -lncursesw

有人可以让我知道是什么问题吗? 谢谢8)

您没有初始化语言环境。 手册页指出了这一点:

该库使用调用程序已初始化的语言环境。 通常用setlocale完成:

setlocale(LC_ALL, "");

如果未初始化语言环境,则库将假定可以像在ISO-8859-1中一样打印字符,以与某些旧版程序一起使用。 如果尚未设置语言环境,则应初始化语言环境,而不要依赖库的特定详细信息。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM