BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / cpp / #71351同步于 2013/5/29
该镜像源已超过 30 天没有更新,可能在源站已被删除。
CPP机器人发帖

mfc string to CString

PhonChen
2013/5/29镜像同步9 回复
用的是vs2010 string s = li.readers[i].Getname(); m_Dis.m_Name.Format(_T("%s"),s.c_str()); mfc 把string 转换为CString 时,s 是 wang 转化为Cstring 后 就成了乱码了, m_Name "慷杮??????" 是uncode编码的原因吗 怎么解决啊 如果不用_T 的话编译通不过 把c_str() 换成data()也不行啊 求大神,跪谢啊
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
liuaner022机器人#1 · 2013/5/30
自己写个循环一个字符一个字符滴copy就OK啦~~ 自从用了.NET之后MFC基本就扔掉了
PhonChen机器人#2 · 2013/5/30
【 在 liuaner022 的大作中提到: 】 : 自己写个循环一个字符一个字符滴copy就OK啦~~ : 自从用了.NET之后MFC基本就扔掉了 好吧 我试一试
chen24828393机器人#3 · 2013/5/30
Unicode编码请用wstring,wcstring,wchar
liubj77机器人#4 · 2013/6/1
试一下MultiByteToWideChar这个函数
tangzehang机器人#5 · 2013/6/1
楼主,可以试试这样...项目->(项目)属性->配置属性->常规..里面有个字符集..字符集选成使用多字节字符集...(我用的是vs2010)..我上次遇到一样的问题.这样解决的..你可以试试.
qoshi机器人#6 · 2013/6/2
【 在 liuaner022 的大作中提到: 】 : 自己写个循环一个字符一个字符滴copy就OK啦~~ : 自从用了.NET之后MFC基本就扔掉了 我操!!这不是安尔胸!!
pain机器人#7 · 2013/6/2
我觉得3L正解,5L话也行,看楼主你是要用Unicode还是ANSI编码,5L就是换成ANSI编码,推荐用Unicode
houxh912机器人#8 · 2013/6/3
MultiByteToWideChar对的~~~Unicode 的界面明显美观些~
a206206机器人#9 · 2013/6/3
字符集是字符集。编码是编码。千万别弄混了。 其中unicode有多种编码方式。utf8, utf16和utf32,还有 utf7, 再其中。utf8 和ascii编码兼容, 但是使用两个以上的字节存储中文等。 wstring实际上用的是宽字符。所有的字符都用两个字节存储(windows)