c/c++中的各种字符串转换

 一:CString 和 *char 的转换:

  1:CString -> *char

  1)CString转化为*char可以使用CString中的GetBuffer()函数,具体如下:

c/c++中的各种字符串转换
CString string1 = _T("string");
char *str = string1.GetBuffer();
c/c++中的各种字符串转换

  注意的是,在GetBuffer后要使用ReleaseBuffer以更新对象内部数据,否则会发生不可意料的意外。

  2)可以使用强制转换。

c/c++中的各种字符串转换
CString string1 = _T(“string”);
char *str = (LPTSTR)(LPCTSTR)string1;
c/c++中的各种字符串转换

  3)也可使用函数strcpy实现转换。

  4)使用CString的GetAt()函数:

c/c++中的各种字符串转换
CString string1 = _T("string");
char *str = string1.GetAt(0);
c/c++中的各种字符串转换

  即获取下标为0的字符。

 

  2:*char -> CString

  1)使用format函数:

c/c++中的各种字符串转换
char *str = "string";
CString string1;
string1.format("%s",str);
c/c++中的各种字符串转换

  2)同样也可以强制转换:

char *str = "string";
CString string1(str);

 

二:*char 与 int 的转换

  1:*char -> int

  1)使用atoi()函数:

char *val = "12345";
int num = atoi(val);

  

  2:int -> *char

  1)使用itoa()函数:

c/c++中的各种字符串转换
int num = 12345;
char buf[5];
itoa(buf, num, 10);
c/c++中的各种字符串转换

  itoa()函数中后面10代表十进制。

  2)使用sprintf()函数:

c/c++中的各种字符串转换
int num = 12345;
char buf[6];
sprintf(buf, "%d", num);
c/c++中的各种字符串转换

未完待续。。。

 

 

 

 

 

 

c/c++中的各种字符串转换,布布扣,bubuko.com

c/c++中的各种字符串转换

上一篇:深入浅出理解Javascript原型概念以及继承机制(转)


下一篇:冯斌:关于Java接口你知道多少?