win32,新人求赐教啊怎样把string对象 sendmassage到 list 控件而不乱码
win32,新人求指教啊!怎样把string对象 sendmassage到 list 控件而不乱码?
win32
有一个Book类,Book有一个 toString 成员函数, 怎样把这个函数返回的string对象 sendmassage到 list 控件而不乱码?
或者有没有其他实现方法?
做图书管理系统,卡在这里好几天了,真心求帮助啊
//这不会乱码
SendMessage ( HL, LB_INSERTSTRING, 0, (LPARAM) TEXT("查看图书") );
//这乱了
SendMessage ( HL, LB_INSERTSTRING, 0,LPARAM( stringToLPWSTR( primer.toString() ) ))
------解决方案--------------------
primer.toString() stringToLPWSTR 分别是怎么写的?
个人怀疑是
1 primer.toString() 的返回值使用了局部变量,而导致函数结束时字符串被解析了,用静态变量或类变量来存储这个返回值
2 上面使用了TEXT宏 没有乱,它可以适应UNICODE和多字节编译环境,而下面不知是宏还是函数却出现了LPWSTR(有可能是UNICODE字符),建议改写为LPTSTR,这样也可以适应不同的编译环境
win32
有一个Book类,Book有一个 toString 成员函数, 怎样把这个函数返回的string对象 sendmassage到 list 控件而不乱码?
或者有没有其他实现方法?
做图书管理系统,卡在这里好几天了,真心求帮助啊
//这不会乱码
SendMessage ( HL, LB_INSERTSTRING, 0, (LPARAM) TEXT("查看图书") );
//这乱了
SendMessage ( HL, LB_INSERTSTRING, 0,LPARAM( stringToLPWSTR( primer.toString() ) ))
win32
String
list
------解决方案--------------------
primer.toString() stringToLPWSTR 分别是怎么写的?
个人怀疑是
1 primer.toString() 的返回值使用了局部变量,而导致函数结束时字符串被解析了,用静态变量或类变量来存储这个返回值
2 上面使用了TEXT宏 没有乱,它可以适应UNICODE和多字节编译环境,而下面不知是宏还是函数却出现了LPWSTR(有可能是UNICODE字符),建议改写为LPTSTR,这样也可以适应不同的编译环境