主题:救助关于CString与char * 的问题
eaglefengyu
[专家分:0] 发布于 2006-06-19 14:23:00
CString str="Hello";
char * c=(LPSTR)(LPCTSTR)str;
CString line(c);
MessageBox(line);
结果只输出了
H
这是为什么啊?
回复列表 (共6个回复)
板凳
5yun [专家分:30] 发布于 2007-06-13 00:19:00
CString str="Hello";
char * c=W2A(str.GetBuffer());
CString line(c);
MessageBox(line);
结果只输出了
H
这是为什么啊?
3 楼
whbchina [专家分:1070] 发布于 2007-06-17 16:19:00
CString str="Hello";
char * c=(LPSTR)(LPCTSTR)str;
CString line(c);
cout << line << endl;
我得到的是 :hello
4 楼
anbry [专家分:380] 发布于 2007-06-27 14:46:00
CString str="Hello";//在str是以Unicode方式存放的
char * c=(LPSTR)(LPCTSTR)str;//是以ANSI方式存放
str在内存中的结构为{0x48,0x00,0x65,0x00,0x6C,0x6C,0x00,0x6F,0x00,0x00,0x00}
结果为什么会只输出一个H不用我说明了吧。
5 楼
tld5yj [专家分:1310] 发布于 2007-07-14 19:46:00
楼上的意思是说只输出第一个单元的内容对吗?
6 楼
longlong16 [专家分:10670] 发布于 2007-07-18 10:47:00
讨论c++可以到别的区去!
我来回复