阅读:2557回复:8
CString和char类型数据的转换
CString和char类型数据能够相互转化吗,他们之间有什么区别
|
|
最新喜欢:bearsa... |
沙发#
发布于:2005-04-27 10:01
CString可以转换成LPCTSTR,LPCTSTR中的C指const,OK,不用多解释了吧.不加上个const,你到处乱用,还不翻天了,非把程序搞DOWN不可.
猜想你说的char是指char字串.不管字串(char *)还是char,要转换成CString,CString都有相应构造函数或=运算符重载函数. CString要转换成char,有GetAt和[]运算符重载函数.CString要转换成char数组,就要拷贝了.例如strcpy(szChar,(LPCTSTR)szCString). CString是类;char是基本类型;char *是字符串,有点特殊性的数组(特殊在一般以0结束). |
|
|
板凳#
发布于:2005-04-27 10:12
CHAR为单字节字符我想你应问的是字串char*,将CString类型的变量赋给char*类型的变量:
CString Msg; Msg=Msg+\"abc\"; LPTSTR lpsz; lpsz = new TCHAR[Msg.GetLength()+1]; _tcscpy(lpsz, Msg); char * psz; strcpy(psz,lpsz); 将char*类型的变量赋给cstring型的变量: CString myString = \"This is a test\"; 即CString 对象是能够增长的动态对象直接付给即可。 |
|
地板#
发布于:2005-04-30 12:29
建议楼主自己写写CString类,这样不仅可以应对大部分面试;而且提高水平;至少对这种问题不在困惑
|
|
|
地下室#
发布于:2005-07-21 14:22
char c[1023];
CString s; s = " 抵制日货"; for (int i = 0;i<sizeof(s);i++) c = s; 我也是菜鸟,我用的都是笨方法,慢慢在改进。不知道你是不是要问的这种回答。 |
|
|
5楼#
发布于:2005-07-22 20:37
赞同三搂的意见
|
|
6楼#
发布于:2005-07-25 15:16
不知道三楼的能不能写出一个实例来,这么说搞得我是一头雾水。本来我就连转换也不会,更不用说些个CString类了。谢谢
|
|
|
7楼#
发布于:2005-07-27 16:16
如果没有定义UNICODE的时候,其实在用到const char *的地方直接用CString的实例好了。用char *的地方用GetBuffer(),注意用完后要用ReleaseBuffer();释放否则CString会乱掉
|
|
8楼#
发布于:2005-07-27 19:00
是的,写个例子给我们看看吧
|
|
|