C++數據類型轉換

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




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章