关于char转wchar_t的一点小疑点

关于char转wchar_t的一点小问题
关于char wchar_t TCHAR,我这两天也在网上看了不少东西了,互相转换也能大概完成。

但是出现了一个小问题。我在看一个控制台绘制边框的程序,用到了一个函数WriteConsoleOutputCharacter()

WriteConsoleOutputCharacter()里面有个参数是字符,别人的程序估计是vc老版本,那个参数是char*。但是我用vs2010,那个参数是wchar_t。


然后声明和赋值语句是
              chBox[0] = 0xda; // 左上角点

              chBox[1] = 0xbf; // 右上角点

              chBox[2] = 0xc0; // 左下角点

              chBox[3] = 0xd9; // 右下角点

              chBox[4] = 0xc4; // 水平

              chBox[5] = 0xb3; // 坚直

很明显,这里的16进制数是对应的char,但是我的chBox数组是设的wchar_t。这就导致了我画出来的边框并不是线,而是乱码。

请问怎么解决?

我试过
chBox[0] = (char)0xda;
chBox[0] = (TCHAR)(char)0xda;
chBox[0] = _T((char)0xda); //这个报错

总之是无能为力了

------解决方案--------------------
              chBox[0] = L'┏'; // 左上角点
              chBox[1] = L'┓'; // 右上角点
              chBox[2] = L'┗'; // 左下角点
              chBox[3] = L'┛'; // 右下角点
              chBox[4] = L'━'; // 水平
              chBox[5] = L'┃'; // 坚直
这样试试。
如果还不行,把chBox改回char[]类型,然后把WriteConsoleOutputCharacter都改成WriteConsoleOutputCharacterA