objectarx-cAD二次开发(VS2005)-字符串转换
?
LPTSTR lpsz =(LPTSTR)(LPCTSTR)theString;
13.char*->CString
方法一:
可以直接赋值
CString cstr;
char* ch;
cstr=ch;
方法二:
通过使用Format函数
char chArray[] = "This is a test";
CString cstr;
MBCS下(即没定义UNICODE时):
cstr.Format(_T("%s"), chArray);
定义UNICODE时:
USES_CONVERSION;
cstr.Format(_T("%s"), A2W(chArray));
14.char*->int
char* ch;
int n=atoi(ch);
15.int->char*
int n=45;
char nCh[10];
char* ch;
itoa(n,nCh,16);//16为进制,可以取2,8,10,16等
也可以采用如下形式:ch=itoa(n,nCh,16);
VS2005环境用:_itoa_s(n,nCh,2);
16.CString->string
string str;
CString temp;
USES_CONVERSION;
str=T2A(temp.GetBuffer(0));
17.string->CString
CString cstr;
string str;
cstr=str.c_str();
18.char*->string
直接构造法:
char cT1[20];
string ste(cT1);//重新构造一个字符串
19.string->char*
string ste;
ch=(char*)ste.c_str();通过char*转换去掉const属性,注意ch只能为
char*,不能为char[]
20.float(double)->string
char cT1[20];
_gcvt_s(cT1,20,110.58485678,6);//6为精确度
string ste(cT1);
21.string->double
string num="15.12054";
double d=atof(num.c_str());