如果你用的編譯器是基於最新的c++11標準,那麼string和其他型別轉換問題就變的很簡單,因為中已經封裝好了對應的轉換方法:
標準庫中定義了to_string(val);可以將其它型別轉換為string。
to_string這個函式還是很強大的!
string to_string (int val);
string to_string (long val);
string to_string (long
long val);
string to_string (unsigned val);
string to_string (unsigned
long val);
string to_string (unsigned
long
long val);
string to_string (float val);
string to_string (double val);
string to_string (long
double val)
還定義了一組stoi(s,p,b)、stol(s,p,b)、stod(s,p,b)等轉換函式,可以函式,可以分別轉化成int、long、double等.
stoi(s,p,b);stol(s,p,b);stoul(s,p,b);stoll(s,p,b);stoull(s,p,b);返回s的起始子串(表示整數內容的字串)的數值,返回值的型別分別為:int、long、unsigned long、long long、unsigned long long.其中b表示轉換所用的基數,預設為10(表示十進位制).p是size_t的指標,用來儲存s中第乙個非數值字元的下標,p預設為0,即函式不返回下標.
stof(s, p); stod(s, p); stold(s, p); 返回s的起始子串(表示浮點數內容)的數值,返回值的型別分別是float、double、long double.引數p的作用與整數轉換函式中的一樣。
非數字開頭的會丟擲std::invalid_argument異常。
int main()
數字開頭的則會把數字部分轉換.
p 表示轉換的個數。
int main()
結果:
i=123 p=3
C string轉int的方法
一 點睛 需要用到下面這一組函式。long int strtol const char nptr,char endptr,int base 將引數nptr字串根據引數base來轉換成有符號的整型 long long int strtoll const char nptr,char endptr,in...
CString與int連線及相互轉化
cstring與int連線 int localport rtp terminal default local port nselectrow cstring url url.format t rtp localport 注意 不能直接使用cstring與int型別 cstring轉為int cstr...
CString與其他型別的轉換
如何將cstring型別的變數賦給char 型別的變數 1 getbuffer函式 使用cstring getbuffer函式。char p cstring str hello p str.getbuffer str.getlength str.releasebuffer 將cstring轉換成ch...