I have to draw a box in C, using ncurses;
First, I have defined some values for simplicity:
#define RB \"\\e(0\\x6a\\e(B\" (ASCII 188,Right bottom,
A few issues:
"\e(0\x6a\e(B" using addstr, then ncurses (any curses implementation) will translate the individual characters to printable form as described in the addch manual page.ACS_HLINE) which are predefined characters with the A_ALTCHARSET attribute combined. You can read about those in the Line Graphics section of the addch manual page.0x6a is ASCII j, which (given a VT100-style mapping) would be the lower left corner. The curses symbol for that is ACS_LRCORNER.addstr; instead addch, addchstr are useful. There are also functions oriented to line-drawing (see box and friends).running in Ubuntu, your locale encoding is probably UTF-8. To make your program work properly, it should initialize the locale as described in the Initialization section of the ncurses manual page. In particular:
setlocale(LC_ALL, "");
Also, your program should link against the ncursesw library (-lncursesw) to use UTF-8, rather than just ncurses (-lncurses).
_GNU_SOURCE.