是技术,更是艺术

一心编程,就没有解决不了的问题
posts - 9, comments - 11, trackbacks - 0, articles - 0

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

Posted on 2009-08-26 12:19 李熙建 阅读(487) 评论(0)  编辑 收藏 引用 所属分类: C++
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);



 

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理