一、string轉int的方式
採用最原始的string, 然後按照十進位制的特點進行算術運算得到int,但是這種方式太麻煩,這裡不介紹了。
採用標準庫中atoi函式。
string s = "12";
int a = atoi(s.c_str());
對於其他型別也都有相應的標準庫函式,比如浮點型atof(),long型atol()等等。
採用sstream標頭檔案中定義的字串流物件來實現轉換。
istringstream is("12"); //構造輸入字串流,流的內容初始化為“12”的字串
int i;
is >> i; //從is流中讀入一個int整數存入i中
二、int轉string的方式
採用標準庫中的to_string函式。
int i = 12;
cout << std::to_string(i) << endl;
不需要包含任何標頭檔案,應該是在utility中,但無需包含,直接使用,還定義任何其他內建型別轉為string的過載函式,很方便。
採用sstream中定義的字串流物件來實現。
ostringstream os; //構造一個輸出字串流,流內容為空
os << i; //向輸出字串流中輸出int整數i的內容
cout << os.str() << endl; //利用字串流的str函式獲取流中的內容
字串流物件的str函式對於istringstream和ostringstream都適用,都可以獲取流中的內容。
一、string轉int的方式
採用最原始的string, 然後按照十進位制的特點進行算術運算得到int,但是這種方式太麻煩,這裡不介紹了。
採用標準庫中atoi函式。
string s = "12";
int a = atoi(s.c_str());
對於其他型別也都有相應的標準庫函式,比如浮點型atof(),long型atol()等等。
採用sstream標頭檔案中定義的字串流物件來實現轉換。
istringstream is("12"); //構造輸入字串流,流的內容初始化為“12”的字串
int i;
is >> i; //從is流中讀入一個int整數存入i中
二、int轉string的方式
採用標準庫中的to_string函式。
int i = 12;
cout << std::to_string(i) << endl;
不需要包含任何標頭檔案,應該是在utility中,但無需包含,直接使用,還定義任何其他內建型別轉為string的過載函式,很方便。
採用sstream中定義的字串流物件來實現。
ostringstream os; //構造一個輸出字串流,流內容為空
int i = 12;
os << i; //向輸出字串流中輸出int整數i的內容
cout << os.str() << endl; //利用字串流的str函式獲取流中的內容
字串流物件的str函式對於istringstream和ostringstream都適用,都可以獲取流中的內容。