int
轉CString: CString.Format(_T("%d"), int);
轉char*: 1._itoa(int,char*,10)//10爲十進制 沒有越界檢查
2.memset(szBuf, 0, sizeof(szBuf));
_snprintf(szBuf,sizeof(szBuf), "%d", int);
轉TChar*: _itoa(int,TChar*,10)//10爲十進制
double
轉char*: 1._gcvt(double,一共幾個字符,char*);//sprintf(char*,"%.2lf", double);
2.memset(char*, 0, sizeof(char*));
_snprintf(char*, sizeof(char*), "%f", double);
float
精度保留: float spd = 22.518744;
charbuf[10];
sprintf(buf,"%.2f", spd);//float轉char
sscanf(buf,"%f", &spd);//char轉float
char*
轉double: 1.double=atof (char*);//有溢出風險
2.sscanf(char*,"%f", &double);
轉int: 1.int=atoi(char*);//sscanf(szBuf,"%d",&i);
2. sscanf(szBuf,"%d",&i);
string
轉CString: CString= string.c_str();
轉 char*: char*=string.c_str();
轉int/double:#include <sstream>
std::stringstreamss(string);
int:intn=0;ss>>n; double:doubled=0.0;ss>>d;
TChar*
轉CString: CString.Format(_T("%s"),TChar*);/CString.Format(TChar*);
轉int: int=_tstoi(TChar*);
CString
拼接: CString3.Format(_T("%s%s"),CString1,CString2);
轉int: int=_tstoi(CString);
轉double: double=_wtof (CString);
轉char*: CString str;
DWORDdwNum = WideCharToMultiByte(CP_OEMCP,NULL,str,-1,NULL,NULL,0,NULL);
char*c = new char[dwNum];
WideCharToMultiByte(CP_OEMCP,NULL,str,-1,c,dwNum,0,NULL);
轉string: string = CT2A(CString.GetBuffer());//CString. ReleaseBuffer();
QString
格式化: QString strPrinf1.sprintf("\n總長度爲%f",val);
轉char*: char* ch;QString str;
QByteArrayba = str.toLocal8Bit().constData();
ch= ba.data();
參考網站:
C++數據類型轉換詳解:http://lib.csdn.net/article/cplusplus/23597