CString,string,char*, int之间的转换

1 string转CString
CString.format("%s",string.c_str());
2 CString 转 string
UNICODE编码:
CString inStr;
setlocale(LC_ALL,"chs");
char* p = new char[...];//足够长
wcstombs( p , str , str.GetLength() );
string outStr = p;
ASCII编码:
CString inStr;
string outStr = (const char*)str;
3 Char* 转CString
CSstring.format("%s",char*);
4 CString互转char*   
CString strtest;  
char * charpoint; 
charpoint=strtest.GetBuffer(strtest.GetLength()); 
5 char *转 string 
string s(char*);
6 string 转 char * 
char *p = string.c_str();  
《C++标准函数库》中说的  
有三个函数可以将字符串的内容转换为字符数组和C—string 
1.data(),返回没有”\0“的字符串数组 
2,c_str(),返回有”\0“的字符串数组 
3,copy() 

7 CString转int 
CString ss="1212.12";  
int temp=atoi(ss); 
//CString aaa = "16" ; 
//int int_chage = atoi((lpcstr)aaa) ; 
8 int转CString
CString aa;  
aa.Format("%d",temp); 
Format函数的功能很强,好好研究一下。
9 int 转 string
int a = 2;
char p[NUM];//NUM够用
string desStr = itoa(a,p,10)//第三个参数很有意思,这里的10代表的是10进制,如果你的例子中 a =10 ,itoa(a,p,16)的话,desStr = "a";
10 string 转 int

string srcStr= "222";
int a = atoi(srcStr);



 

你可能感兴趣的:(CString,string,char*, int之间的转换)