国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C > 正文

stringstream操縱string的方法總結

2020-01-26 14:21:32
字體:
來源:轉載
供稿:網友

1 split字符串

之前在用C#寫代碼的時候,用過split函數,可以把一個字符串根據某個分隔符分成若干個字符串數組。在用C++操縱字符串的時候,我一直使用很笨的遍歷的方法。為此,我問候過很多次C++標準委員會。直到某一天,我做了一個處理絕對路徑的題目。

首先,我要把‘/'作為分隔符,把輸入字符串split一下。下面是我的代碼: 

string inputString("/home/fun/./../code/");stringstream ss(inputString);string tmp;while(getline(ss,tmp,'/')){    if(tmp.empty())  continue;    bulabula;       }

神奇的是getline函數,此函數配合stringstream使用,就實現了split函數的功能。簡直歷害!

2 格式化輸入

當我們有一個字符串需要解析的時候,可以使用stringstream。

string inputString("123abc 123.4one two three four");  stringstream ss(inputString);  string s;  int i;  double d;  ss >> i >> s >> d;  cout << i << " " << s.c_str() << " " << d ;  while (ss >> s)    cout <<" "<<s.c_str();  cout << endl;

輸出:

123 abc 123.4 one two three four

是不是很好用呢?不過要注意,當我們使用>>來格式化輸入數值型變量的時候,后面是不需要跟空格的,而使用>>來格式化輸入string或char*的時候,后面一定要跟空格。當然格式化輸入string,我們也可以使用getline(ss,s,' ')。一樣的效果。

有標準庫用的時候,還是要用的,事半功倍!

以上就是小編為大家帶來的stringstream操縱string的方法總結全部內容了,希望大家多多支持武林網~

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 南丰县| 康定县| 礼泉县| 咸宁市| 巴南区| 乾安县| 阿勒泰市| 达拉特旗| 齐齐哈尔市| 泸溪县| 津市市| 伊春市| 荣成市| 炎陵县| 威信县| 隆尧县| 通山县| 抚松县| 伊春市| 闽清县| 石楼县| 赤水市| 凤阳县| 格尔木市| 万盛区| 朝阳区| 博罗县| 屯门区| 通州市| 尤溪县| 固始县| 宾川县| 蓝田县| 环江| 闻喜县| 临颍县| 绥宁县| 宁海县| 荃湾区| 江山市| 河东区|