使用sstream讀取字串中的數字 c

2021-08-16 05:53:51 字數 895 閱讀 8291

個人部落格中有本文原文

先介紹以前常用的方法(stoi或atoi)

在以往的c++程式設計中當我們輸入整行以空格作為分割的數字時

由於整行讀入的字串,我們會採用空格切分字串,在進行處理

stoi需要包含標頭檔案#include

atoi需要包含標頭檔案#include

stoi(string)引數是一string型別,當字串不合法時,會報錯

atoi(char*)引數是char*型別,即c字串,當字串非法時,他會從字串開始尋找正負號小數點或者數字,遇到非法字元時停下

例如「123hd23330」通過呼叫atoi返回值為123,而stoi則會直接報錯

此外還有一函式strtoi(char*)用法與atoi一直,只是stroi可以指定的進製

以上是整數型別的轉換,此外還有stof(),stod(),strtod()等函式可以進行浮點數的轉換

接下來是要介紹的stringstream類,運用此方法不需要將一群數字組成的串用空格切分為單個的串,在乙個乙個轉換,而是可以直接對整個串進行轉換

需要#include

通過stringstream類物件實現字串轉

例項如下

#include#include#includeusing namespace std;

int main()

return 0;

}

如果輸為:"12 23 43 555"

則輸出為

1223

43555

C 讀取字串

我們在使用鍵盤輸入字串的時候,輸入流對於字串的讀取有幾種不同的實現方式。cin cin 在讀取字串時使用空白 空格 製表符和換行符 來確定字串的結束位置,這說明cin在獲取字元陣列輸入時只能讀取乙個單詞。而讀取該單詞後,cin將該字串放到陣列中,並在結果自動新增空字元。so,在某些時候,我們需要使用...

讀取字串長度

c 關於讀取乙個字串長度 包括空格回車 自用 方法1 include include using namespace std intmain 方法2 include include include include include using namespace std intmain 方法3 inc...

從檔案中讀取字串

問題 如何從磁碟檔案中讀取字串兒,然後按行將其倒序輸出?下面一段材料取自陳壽 三國志 卷三十五諸葛亮傳,我把它分成了10段,現在要求從磁碟檔案中讀取這段文字,然後按照一定的規則倒序輸出。比如說,如果我要求輸出3行,系統會依次輸出第10 9 8三行 如果我要求輸出20行,則系統會依次輸出10 9 8 ...