我們在寫程序時,常常會遇到類型轉(zhuǎn)換的問題。現(xiàn)總結(jié)一些常見的類型轉(zhuǎn)換。
1,const char*(C風(fēng)格字符串)與string之間轉(zhuǎn)換:
(1) const char*可以直接對string類型賦值,例如:
const char* pchar = "qwerasdf";
stringstr = pchar;
(2) string通過c_str()函數(shù)轉(zhuǎn)換為C風(fēng)格字符串,例如:
string str = "qwerasdf";
const char* pchar = str.c_str();
2,const char*類型可以直接給CString類型賦值,例如:
const char* pchar = "qwerasdf";
CString str = pchar;
3,string類型變量轉(zhuǎn)為為Cstring類型變量
CString類型變量可以直接給string類型變量賦值,但是string類型不能對CString類型直接賦值。通過前兩類
轉(zhuǎn)換我們可以得到,string類型變量轉(zhuǎn)換為const char*類型,然后再直接賦值就可以了。例如:
CString cstr;
sring str = “asdasd”;
cstr = str.c_str();
同理,CStrng類型變量先轉(zhuǎn)換為string類型在調(diào)用c_str()函數(shù)就可以完成向const char*類型的轉(zhuǎn)換。例如:
CString cStr = "adsad";
string str = cStr;
const char* pchar = str.c_str();
4,double,int轉(zhuǎn)string
double temp;
stringstream strStream;
strStream<<temp;
string ss = strStream.str()
string 轉(zhuǎn)double,int
string.atoi , string.atof
從上面我們可以上面看出,通過類型之間的相互轉(zhuǎn)化,會使本來要通過復(fù)雜的函數(shù)來完成的類型轉(zhuǎn)換變得簡單易懂。