string與int的互相轉換

2021-09-27 13:32:42 字數 1732 閱讀 6677

例如,將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

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...