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);

你可能感兴趣的:(c,String)