Post by ies_li 发表于 2007-7-16 16:13:00
在MFC/C++写程序时,有时难免会用到各种字符串之间的转换。在此笔者根据自己的用到的总结如下:
CString strCString;
char strchar[256];
char strchar[256];
char *pstr;
//CString---->char*
pstr=(LPSTR)(LPCTSTR)strCString;
pstr=(LPSTR)(LPCTSTR)strCString;
//CString---->char[]
strcpy(strchar,(LPSTR)(LPCTSTR)strCString);
strcpy(strchar,(LPSTR)(LPCTSTR)strCString);
//char*---->_bstr_t
_bstr_t strbstr=pstr;
_bstr_t strbstr=pstr;
//b_str_t--->UNICODE
WCHAR *strWCHAR=strbstr;
//UNICODE---->char*
strbstr=strWCHAR;
pstr=strbstr;
pstr=strbstr;
strCString="10";
//CString、char[]、char*------>int
int istr=atoi((LPSTR)(LPCTSTR)strCString);
int istr=atoi((LPSTR)(LPCTSTR)strCString);
//int----->CString 这个用惯MFC的用的最多了。
strCString.Format("%d",istr);
strCString.Format("%d",istr);
sprintf(strchar,"%d",istr); //int----->char[]
pstr=new char[256]; //字符串申请空间
strcpy(pstr,"ABC"); //字符串赋值
delete []pstr; //字符串释放
string strstring="ABC";
pstr=(char*)strstring.c_str(); //string---->char*
pstr=new char[256]; //字符串申请空间
strcpy(pstr,"ABC"); //字符串赋值
delete []pstr; //字符串释放
string strstring="ABC";
pstr=(char*)strstring.c_str(); //string---->char*