最近在开发中遇到了很多不同字符串类型的相互转换问题,让人很是头疼,经常忘了怎么转换。于是就想着总结下来,以后用起来也方便。
通常用到的字符串数据类型是string,CString和char*,下面就是这三种类型数据的相互转换对应代码:
(1)string<-->CString:
①string->CString:
string str;
//给str赋值
……
//
CString cstr( str.c_str());
或者:
string str;
CString cstr;
//给str赋值
……
//
cstr = str.c_str();
②CString -> string:直接赋值
CString cstr;
//给cstr赋值
……
//
string str;
str = cstr;
(2)string<-->char*
①string->char*:
string str;
//给str赋值
……
//
char *ch = str.c_str();
②char*->string:
char ch[100];
//给ch赋值
……
//
string str;
string = ch;直接赋值
(3)CString<--> char*
①CString->char*:
CString cstr;
//给cstr赋值
……
//
char *ch = str.GetBuffer(0);
②char*->CString:
char ch[100];
//给ch赋值
……
//
CString cstr;
cstr.format(“%s”, ch );
另外还有一些需要记住的,
(4)WCHAR类型转换为char类型:
WCHAR*->char*
char ch[100];
WCHAR *wch;
USES_CONVERSION;
wch = A2W(ch);
(5)整型、浮点型等其他类型数据与char的相互转换
sprintf
从char型数据中读取各种类型的数据
sscanf