C++ string->int & int->string

如果你是在C++11之前,可能比較麻煩

string->int  (#include <cstdlib>)

string s("123");
int a = atoi(s.c_str());
cout << a;

int->string

1.使用stringstream  (#include <sstream>)

stringstream ss;
ss << 12;
string s;
ss >> s;
cout << s;

2.使用sprintf

char c_str[100];
sprintf(c_str, "%d", 12);
string s(c_str);
cout << s;

而C++11中提供了更簡單的方案:

string->int

string s = "123";
int a = std::stoi(s);
cout << a;

函數原型在這

  int stoi (const string& str, size_t* idx = 0, int base = 10);

就是要注意的是,這裏的idx是個指針,而非下標,指向開始轉換的地方

當然,你也可以很自然的想到,還有


int->string

int a = 123;
string s = std::to_string(a);
cout << s;

轉成string SO EASY~

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章