CString和char*相互转换

以下是在VC6.0下,高版本CString定义的字符串要使用_T

1.CString转char*

方法1:直接转换

CString  str="卖火柴的小女孩";

char* ch=(LPTSTR)(LPCTSTR)(str);

方法2:精确的转换(防止字符丢失)

ch=str.GetBuffer(str.GetLength());

2.char*转CString

char ch[50]="卖火柴的小女孩";

CString str=(CString)ch;

3.将多个字符串转为char*

CString可以直接相加,相加之后还是CString,然后转为char*

4.int转char*

方法1:itoa(不是标准库函数,但是大部分编译器都支持)

itoa用法:http://www.cplusplus.com/reference/clibrary/cstdlib/itoa/

int a=100;

char ch[10];

itoa(a,ch,10); //第三个参数为进制

方法2:sprintf(这个C/C++编译器都支持)

sprintf用法:http://www.cplusplus.com/reference/clibrary/cstdio/sprintf/

sprintf(ch,"%d",a);

原文地址:https://www.cnblogs.com/Romi/p/2488867.html