最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

c++如何分割字符串示例代碼

 更新時(shí)間:2016年08月10日 10:20:53   投稿:daisy  
因?yàn)閏++字符串沒有split函數(shù),所以字符串分割單詞的時(shí)候必須自己手寫,也相當(dāng)于自己實(shí)現(xiàn)一個(gè)split函數(shù)吧!下面跟小編一起來看看如何實(shí)現(xiàn)這個(gè)功能。

話不多說,直接上代碼

如果需要根據(jù)單一字符分割單詞,直接用getline讀取就好了,很簡單

 #include <iostream>
 #include <vector>
 #include <string>
 #include <sstream>
 using namespace std;
 
 int main()
 {
   string words;
   vector<string> results;
   getline(cin, words);
   istringstream ss(words);
   while (!ss.eof())
   {
     string word;
     getline(ss, word, ',');
     results.push_back(word);
   }
   for (auto item : results)
   {
     cout << item << " ";
   }
 }

如果是多種字符分割,比如,。!等等,就需要自己寫一個(gè)類似于split的函數(shù)了:

 #include <iostream>
 #include <vector>
 #include <string>
 #include <sstream>
 using namespace std;
 
 vector<char> is_any_of(string str)
 {
   vector<char> res;
   for (auto s : str)
     res.push_back(s);
   return res;
 }
 
 void split(vector<string>& result, string str, vector<char> delimiters)
 {
   result.clear();
   auto start = 0;
   while (start < str.size())
   {
     //根據(jù)多個(gè)分割符分割
     auto itRes = str.find(delimiters[0], start);
     for (int i = 1; i < delimiters.size(); ++i)
     {
       auto it = str.find(delimiters[i],start);
       if (it < itRes)
         itRes = it;
     }
     if (itRes == string::npos)
     {
       result.push_back(str.substr(start, str.size() - start));
       break;
     }
     result.push_back(str.substr(start, itRes - start));
     start = itRes;
     ++start;
   }
 }
 
 int main()
 {
   string words;
   vector<string> result;
   getline(cin, words);
   split(result, words, is_any_of(", .?!"));
   for (auto item : result)
   {
     cout << item << ' ';
   }
 }

例如:輸入hello world!Welcome to my blog,thank you!

以上就是c++如何分割字符串示例代碼的全部內(nèi)容,大家學(xué)會了嗎?希望本文對大家使用C++的時(shí)候有所幫助。

相關(guān)文章

  • C++類與對象深入之引用與內(nèi)聯(lián)函數(shù)與auto關(guān)鍵字及for循環(huán)詳解

    C++類與對象深入之引用與內(nèi)聯(lián)函數(shù)與auto關(guān)鍵字及for循環(huán)詳解

    朋友們好,這篇播客我們繼續(xù)C++的初階學(xué)習(xí),現(xiàn)在對一些C++的入門知識做了些總結(jié),整理出來一篇博客供我們一起復(fù)習(xí)和學(xué)習(xí),如果文章中有理解不當(dāng)?shù)牡胤?還希望朋友們在評論區(qū)指出,我們相互學(xué)習(xí),共同進(jìn)步
    2022-06-06
  • C語言函數(shù)的基本使用和遞歸小結(jié)

    C語言函數(shù)的基本使用和遞歸小結(jié)

    這篇文章主要介紹了C語言函數(shù)的基本使用和遞歸小結(jié),本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-09-09
  • 深入C++拷貝構(gòu)造函數(shù)的總結(jié)詳解

    深入C++拷貝構(gòu)造函數(shù)的總結(jié)詳解

    本篇文章是對C++中拷貝構(gòu)造函數(shù)進(jìn)行了總結(jié)與介紹。需要的朋友參考下
    2013-05-05
  • C++實(shí)現(xiàn)發(fā)送郵件和附件功能

    C++實(shí)現(xiàn)發(fā)送郵件和附件功能

    這篇文章主要為大家詳細(xì)介紹了C++實(shí)現(xiàn)發(fā)送郵件和附件功能,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-05-05
  • Qt實(shí)現(xiàn)柵格布局效果

    Qt實(shí)現(xiàn)柵格布局效果

    這篇文章主要為大家詳細(xì)介紹了Qt實(shí)現(xiàn)柵格布局效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-08-08
  • 一篇文章帶你用C語言玩轉(zhuǎn)結(jié)構(gòu)體

    一篇文章帶你用C語言玩轉(zhuǎn)結(jié)構(gòu)體

    本文主要介紹C語言 結(jié)構(gòu)體的知識,學(xué)習(xí)C語言肯定需要學(xué)習(xí)結(jié)構(gòu)體,這里詳細(xì)說明了結(jié)構(gòu)體并附示例代碼,供大家參考學(xué)習(xí),有需要的小伙伴可以參考下
    2021-09-09
  • C語言數(shù)組應(yīng)用實(shí)現(xiàn)三子棋游戲

    C語言數(shù)組應(yīng)用實(shí)現(xiàn)三子棋游戲

    這篇文章主要為大家詳細(xì)介紹了C語言數(shù)組應(yīng)用實(shí)現(xiàn)三子棋游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-06-06
  • C語言初識變量常量字符串轉(zhuǎn)義符及注釋方式簡介

    C語言初識變量常量字符串轉(zhuǎn)義符及注釋方式簡介

    最強(qiáng)的C語言筆記,此處對于C語言的基礎(chǔ)部分做一個(gè)簡要的介紹,作者實(shí)屬初學(xué),寫博客也是作者學(xué)習(xí)的一個(gè)過程,若文中內(nèi)容有理解不到位或者有不當(dāng)之處,還請朋友們不吝指正
    2021-11-11
  • 教你用c++從頭開始實(shí)現(xiàn)決策樹

    教你用c++從頭開始實(shí)現(xiàn)決策樹

    從頭實(shí)現(xiàn)一個(gè)分類決策樹分類器似乎是一個(gè)適當(dāng)?shù)奶魬?zhàn)。這已經(jīng)被證明是一個(gè)測試但有益的學(xué)習(xí)旅程,我想分享一些我在這個(gè)過程中的主要經(jīng)驗(yàn),對c++實(shí)現(xiàn)決策樹相關(guān)知識感興趣的朋友一起看看吧
    2021-05-05
  • 數(shù)據(jù)結(jié)構(gòu)之帶頭結(jié)點(diǎn)的單鏈表

    數(shù)據(jù)結(jié)構(gòu)之帶頭結(jié)點(diǎn)的單鏈表

    單鏈表是一種鏈?zhǔn)酱嫒〉臄?shù)據(jù)結(jié)構(gòu),用一組地址任意的存儲單元存放線性表中的數(shù)據(jù)元素。鏈表中的數(shù)據(jù)是以結(jié)點(diǎn)來表示的,每個(gè)結(jié)點(diǎn)的構(gòu)成:數(shù)據(jù)域(數(shù)據(jù)元素的映象)?+?指針域(指示后繼元素存儲位置),元素就是存儲數(shù)據(jù)的存儲單元,指針就是連接每個(gè)結(jié)點(diǎn)的地址數(shù)據(jù)
    2023-07-07

最新評論

顺平县| 灌阳县| 垣曲县| 沈阳市| 汤原县| 巴中市| 遂昌县| 溧水县| 秦安县| 即墨市| 武鸣县| 鄯善县| 铅山县| 云南省| 鱼台县| 洛南县| 闻喜县| 新余市| 那曲县| 宁陵县| 余江县| 定南县| 赣榆县| 沙河市| 元氏县| 荔波县| 柘城县| 龙南县| 东乡县| 静安区| 大余县| 宜良县| 长乐市| 开原市| 临潭县| 攀枝花市| 新泰市| 神池县| 宣汉县| 亳州市| 酒泉市|