CListView显示问题

xianzi123 2009-03-26 10:27:42
程序中CView类继承自CListView,在视图类显示的时候,使用
char pName[22];
...
...
CString str;
str.Format("%s",pName);//pName中有中文 英文和数字

AfxMessageBox(str); //此时对话框弹出的内容都是正确的

lvitem.pszText =pName ;//可是在视图中显示的时候,英文和数字显示是正确的,中文显示是乱码,是怎么回事呢?
...全文
132 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
本本人 2011-07-08
  • 打赏
  • 举报
回复
基本都在废话,问题还是没有从根本上解决!
DavidHsing 2009-03-26
  • 打赏
  • 举报
回复
lz 的字符串复制,注意使用 _T 或者 TEXT 或者 L 宏
比如 _T("this is cool")
DavidHsing 2009-03-26
  • 打赏
  • 举报
回复
楼上你还真搞笑,CView CListView 的关系只要 MFC 熟的人哪个不知道?
只是说 lz 的表达问题
wanjingwei 2009-03-26
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 DavidHsing 的回复:]
引用楼主 xianzi123 的帖子:
程序中CView类继承自CListView,在视图类显示的时候,使用

LZ 比较强悍,头一次听说。

字符安全拷贝的话用 StringCchCopyN、StringCbCopyN
[/Quote]
我想你误解这句话的意思了
DavidHsing 2009-03-26
  • 打赏
  • 举报
回复
[Quote=引用楼主 xianzi123 的帖子:]
程序中CView类继承自CListView,在视图类显示的时候,使用
[/Quote]
LZ 比较强悍,头一次听说。

字符安全拷贝的话用 StringCchCopyN、StringCbCopyN
xianzi123 2009-03-26
  • 打赏
  • 举报
回复
直接赋值lvitem.pszText ="我";显示都是乱码的
lvitem.pszText =“123”,则显示正确,怎么回事呢
levelmouse 2009-03-26
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 lwx300 的回复:]
还要注意一下所复制的字符串的长度是否会超过 pName 的大小。
[/Quote]
up
中文汉字是两个字节的
xianzi123 2009-03-26
  • 打赏
  • 举报
回复
我怎么觉得这个问题是单字节和双字节的问题呢?应为中文显示的都是乱码,说明只是没有正确显示而已呀,内部数据肯定是正确的呀
dayong576 2009-03-26
  • 打赏
  • 举报
回复
建议楼主动态分配
xianzi123 2009-03-26
  • 打赏
  • 举报
回复
lvitem结构体中 pszText是LPTSTR类型的,在VC6.0中是单字节的吧,改成TCHAR不可以吧
lwx300 2009-03-26
  • 打赏
  • 举报
回复
还要注意一下所复制的字符串的长度是否会超过 pName 的大小。
lwx300 2009-03-26
  • 打赏
  • 举报
回复
试试将 char pName[22]; 改为 TCHAR pName[22]。
xianzi123 2009-03-26
  • 打赏
  • 举报
回复
是我表达问题,是我自己的View类,C***View继承自 CListView

15,979

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧