不論是在什麼語言下編程(除C,因爲C是沒有string類型的),int與string數據類型之間的轉換都是經常被使用的基礎內容。Java中會有豐富強大的類庫供程序員們方便使用,而C++就沒有類似的庫函數了。下面只說說我自己對C++中int與string類型轉換的簡單總結,日後在編程中發現更好的方法還會進行補充噠~
int轉string
1.使用頭文件<sstream>
- #include<string>
- #include<sstream>
- int main()
- {
- int m,n;
- stringstream ss,ss1;
- string str,str1;
- ss<<m;
- ss>>str;
- ss1<<n;
- ss1>>str1;
- cout<<str<<" "<<str1<<endl;
- return 0;
- }
2.C++11中的庫函數to_string
C++11在string中新增添了不少基本數據類型轉化爲string的函數,但是這些方法在一些老的編譯器上並不能兼容。這裏只給出一個官方指南鏈接,官方內容更加權威嘛,給出的例子就是to_string函數的應用,簡單易懂~
http://www.cplusplus.com/reference/string/to_string/
string轉int
1.使用C語言<stdlib.h>
- #include<string>
- #include<stdlib.h>
- #include<iostream>
- int main()
- {
- string str="234";
- int n=atoi(str.c_str());
- cout<<n<<endl;
- }
需要先將string轉爲C語言中的char* 數組指針
2.C++11中的stoi
C++11也是很貼心的給出string轉爲基本數據類型的方法呢~
給出一個再簡單不過的小例子,入門使用:
- #include<iostream>
- #include<string>
- int main(){
- string str="234";
- int n=stoi(str);
- cout<<n<<endl;
- return 0;
- }
stoi可以轉換爲十進制、八進制、十六進制和二進制數字,還是給出C++ Reference中的鏈接,大家可以看到詳細的例子