c++ 整數和字符串的轉化


一、string轉int的方式

  1. 采用最原始的string, 然后按照十進制的特點進行算術運算得到int,但是這種方式太麻煩,這里不介紹了。

  2. 采用標准庫中atoi函數。

    string s = "12"; 
    int a = atoi(s.c_str()); 

    對於其他類型也都有相應的標准庫函數,比如浮點型atof(),long型atol()等等。

  3. 采用sstream頭文件中定義的字符串流對象來實現轉換。

    istringstream is("12"); //構造輸入字符串流,流的內容初始化為“12”的字符串 
    int i; 
    is >> i; //從is流中讀入一個int整數存入i中

二、int轉string

  1. 采用標准庫中的to_string函數。

int i = 12; 
cout << std::to_string(i) << endl;

  不需要包含任何頭文件,應該是在utility中,但無需包含,直接使用,還定義任何其他內置類型轉為string的重載函數,很方便。

  2. 采用sstream中定義的字符串流對象來實現。

ostringstream os; //構造一個輸出字符串流,流內容為空 
int i = 12; 
os << i; //向輸出字符串流中輸出int整數i的內容 
cout << os.str() << endl; //利用字符串流的str函數獲取流中的內容 

  字符串流對象的str函數對於istringstream和ostringstream都適用,都可以獲取流中的內容。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM