在实际编程中,常常会碰到一些数据类型的转换,特别是CString和Char的互相转换,一开始,我完全摸不着头脑,从网上看了别人的很多方法,现在我把我常用到的方法做一下总结。
1、char转换成CString
如:定义一个字符串数组 char strSrc[] = “This is a string.”;
定义一个字符串指针 char* strPointer = “This is a string”;
定义一个CString strDes;
(1) 直接赋值
strDes = strSrc;
strDes = strPointer;
(2) 使用CString的Format()函数
strDes.Format(“%s”,strSrc);
strDes.Format(“%s”, strPointer);
2、CString转换成char
如:定义一个CString strSrc(“This is a string.”);
定义一个字符串数组 char strDes[100];
定义一个字符串指针 char* strPointer;
(1) 强制类型转换
strPointer = (LPTSTR)(LPTCTSTR)strSrc;
(2) 使用strcpy()
int nLength = strSrc.GetLength()+1;
strPointer = new char[nLength];
memset(strDes, 0 ,sizeof(char)*100);
strcpy(strPointer, strSrc, nLength);
strcpy(strDes, strSrc, nLength);
(3) 使用 GetBuffer
strPointer = strSrc.GetBuffer();
strSrc.ReleaseBuffer().
此外,int,float型和char,CString型的转换可以通过标准库Stdlib.h中的itoa,ftoa,atoi,atof转换。