c++類型轉換


1. string -> int : 

1)atoi() C語言庫

std::string numStr = "123";
int number = std::atoi( numStr.c_str() );


(2)stringstream

string s = "17";

 stringstream ss;
 ss<<s;

 int i;
 ss>>i;
 cout<<i<<endl; // 17

(3)stringstream可以吞下任何類型,根據實際需要吐出不同的類型。

  string s = "17";
  int i = boost::lexical_cast<int>(s);
  cout<<i<<endl; // 17
常用:atoi()  類似的,轉成float   atof()    轉成long atol()   實際上是char類型向數值類型的轉換

2.int -> string 

(1)sprintf()  c語言庫,可格式化字符串

int a = 10;
char s[10];
sprintf(s,"%d",a);
string str = s;
(2)stringstream

    int n = 65535;
    stringstream ss;
    string s;
    ss << n;
    ss >> s;
3. char*  <-> string
char* -> string,隱式轉換   

char* c = "s1fd2";

string s = c;

string -> char*,直接調string 的方法

string s = "sdf231";

char* c = s.c_str(); 









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