自分のプログラムに機能を追加するためにncursesを学習しようとしていますが、ターミナル設定をデフォルトのncursesウィンドウの境界線期待どおりのここでNCURSES UTF-8とPuTTYを使用した場合の境界線の印刷
は、私はボックスの境界線を持つウィンドウのために取得しています出力されます:
lqqqqqqqqk
x x
x x
x x
mqqqqqqqqj
私はこれを取得する必要がありますしかし:
┌────────┐
│ │
│ │
│ │
└────────┘
私はその修正を見つけることができています唯一のものこの問題は私のPuTTY Remove Character SetをUTF-8ではなくLatin-1に設定していますが、これはVIMを含む他のすべてのアプリケーションを混乱させます。
見つけた関連する質問がいくつかありましたが(1と2)、どちらの解決策も私には役に立ちません。私が2番目のものから取り出した唯一の興味深いのは、コマンドラインにprintf '\342\224\224\342\224\200\342\224\220'
を実行すると、└─┐
(これは正しい...)が印刷されるということです。私が間違っていることができるもの
#include <iostream>
#include <ncurses.h>
#include <string>
#include <cstring>
int main() {
WINDOW *my_win;
int startx, starty, width, height;
int ch;
initscr();
cbreak();
keypad(stdscr, TRUE);
refresh();
int height = 5;
int width = 10;
my_win = newwin(height, width, 1, 2);
box(my_win, 0, 0);
wrefresh(my_win);
getch();
endwin();
return 0;
}
:
ここで私はこれをテストするために使用しています簡単なプログラムはありますか?ありがとう!
使用している端末プログラムを確認し、適切な 'TERM'設定を選択する必要があります。それでおしまい。 –
私はubuntuでPuTTYを使用していますが、私の 'TERM'は' xterm-256color'でエクスポートしています。私が理解していることは問題ではないはずです... – wKavey
また、私の '.bashrc'に' export NCURSES_NO_UTF8_ACS = 1'があります – wKavey