環境:Windows Subsystem for Linux(WSL)

 

Windows Subsystem for Linux(WSL)でncursesを使う方法

前回はWSL上で ncurses を使えるようにしましたが、日本語を扱う場合においては、そのままコンパイルしてもマルチバイト文字には対応していないので文字化けしますよね。なので今回はマルチバイト文字に対応させてみます

 

 


#include <ncurses.h>
#include <locale.h>

int main(void) 
{
    setlocale(LC_ALL,"");
    initscr();

    move(5,5);
    addstr("お黙り! World");
    refresh();
    getch();

    endwin();
    return 0;
}

 

locale.h の include と setlocale(LC_ALL,"") でロケールを追加

 

コンパイル

$ gcc test.c -o test -lncurses ではなく
オプション -lncurses から -lncursesw に変更
$ gcc test.c -o test -lncursesw

 

 

実行結果
command