注册 登录
编程论坛 VC.NET论坛

VC2005里面关于宽字符的问题?

pxy94 发布于 2008-04-11 19:00, 2099 次点击
在VC6.0中想在列表框中显示汉字的话可以用AddString("我"),但现在在VC2005里面AddString的参数改成LPCTSTR型,请问在这种情况下该怎么显示汉字呢?我用了以下语句:
TCHAR mn[10]={'加'};
const TCHAR *pm=mn;
listone.AddString(pm);
但显示的是乱码?这个宽字符集的问题,到何时才能彻底解决呢?
3 回复
#2
pxy942008-04-11 19:56
已解决了,解决方法为:
TCHAR mn[10]=L"加";
listone.AddString(mn);

问题是解决了,但新的问题又出现了,书上讲的SetWindowText的参数是LPCTSTR型或是CString对象,怎么我用指针和TCHAR型都可以呢?难道TCHAR型变量就是CString对象吗?

[[it] 本帖最后由 pxy94 于 2008-4-11 20:08 编辑 [/it]]
#3
hitxinyu2008-04-13 23:43
CString可以看作是对TCHAR字符串数组的封装
TCHAR字符串数组只是数据对象
CString有对其内部成员TCHAR字符串数组的字符串操作函数。
但CString首地址是其内部成员TCHAR字符串数组,所以从数据角度来说,
他们是一致的。
#4
pxy942008-04-14 09:51
[bo]以下是引用 [un]hitxinyu[/un] 在 2008-4-13 23:43 的发言:[/bo]

CString可以看作是对TCHAR字符串数组的封装
TCHAR字符串数组只是数据对象
CString有对其内部成员TCHAR字符串数组的字符串操作函数。
但CString首地址是其内部成员TCHAR字符串数组,所以从数据角度来说,
他们是一致的。 ...

多谢了
1