int轉string
- 使用std::to_string(int),返回一個轉換好的string字符串;
#include <string> // string, std::to_string
using namespace std;
int main(){
int n=100;
string str=to_string(n);
return 0;
- itoa函數,非C/C++標準,可移植性不好;
- 使用stringstream,比較簡便,但比較慢;
#include <sstream> //stringstream
#include <string> //string
using namespace std;
int main(){
stringstream ss;
string str;
int n=100;
ss<<n;
ss>>str;
return 0;
}
- 使用C庫函數sprintf(),可以轉化各種進制的數,但缺點是需要提前分配好char數組;
#include <string> // string, sprintf
#include <cstring> // strlen(linux)
using namespace std;
int main() {
int n = 100;
char ch[10];
sprintf(ch, "%d", n);
//下面把c_string轉換成string
string str(ch, ch + strlen(ch));
return 0;
}
string轉int
- atoi函數:需要傳入的是c_str串;
string a = "123";
a.c_str();
int b = atoi(a.c_str());
2.stoi函數:直接傳入string字符串即可;
string a = "123";
int b = stoi(a);