例如,將string 「1」,「-2」 轉換成 1,2
int temp;
string s1 =
"1";
string s2 =
"-2"
;temp =
stoi
("s1");
temp =
stoi
("s2"
);
int temp;
string s1 =
"1";
string s2 =
"-2"
;temp =
atoi
(c_str
("s1"))
;temp =
atoi
(c_str
("s2"))
;
stoi()會檢查string是否越界,如果越界,會顯示runerror,atoi不會顯示runerror,但是超過上界,會輸出上界,超過下屆,會輸出下界。如下
string s1 =
4294967296
string s2 =
-4294967296
int temp;
temp =
atoi
(c_str
("s1"))
;temp =
atoi
(c_str
("s2"))
;
此時程式不報錯,但是會發生未知錯誤,更可怕!
因此,對於經常使用c++的程式設計師,方法二是不建議使用的,因為c++標準庫中,有了更便於使用的stoi函式
雖然stringstream很強大,但是操作起來會顯得有些繁瑣,程式的可讀性比不上stoi,可以算作乙個備胎吧
int num;
string s =
"123"
;ss>num2;
cout
s =to_string
(i);
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)
;
方法二:stringstream
int aa =30;
stringstream ss;
ss
str();
//這裡有個str()
cout/ 30
C 中int型與string型互相轉換
include 使用c 標準庫的string類時 using namespace std 同上 include include include 要將string類和int型別直接轉換最好有這些包含,因為自己寫乙個轉換函式比較方便,函式定義參考如下 string getstring const int...
C 中int型與string型互相轉換
本以為這麼多年c 經驗,學個c 沒多難,現在發現錯了。c 真tm難。今天遇到int轉string絆了半天,方法很多,不知道為什麼搞那麼複雜,我只挑最簡單易懂的,管他效率不效率的。int轉string int n 0 std stringstream ss std string str ss ss s...
C 中int型與string型互相轉換
int轉string int n 0 std stringstream ss std string str ss str string轉int std string str 123 int n atoi str.c str include stdafx.h include include using...