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

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

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

話不多說,直接上代碼

如果需要根據(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 << " ";
   }
 }

如果是多種字符分割,比如,。!等等,就需要自己寫一個類似于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ù)多個分割符分割
     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)容,大家學會了嗎?希望本文對大家使用C++的時候有所幫助。

相關文章

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

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

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

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

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

    深入C++拷貝構造函數(shù)的總結詳解

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

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

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

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

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

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

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

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

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

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

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

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

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

    數(shù)據(jù)結構之帶頭結點的單鏈表

    單鏈表是一種鏈式存取的數(shù)據(jù)結構,用一組地址任意的存儲單元存放線性表中的數(shù)據(jù)元素。鏈表中的數(shù)據(jù)是以結點來表示的,每個結點的構成:數(shù)據(jù)域(數(shù)據(jù)元素的映象)?+?指針域(指示后繼元素存儲位置),元素就是存儲數(shù)據(jù)的存儲單元,指針就是連接每個結點的地址數(shù)據(jù)
    2023-07-07

最新評論

法库县| 肃南| 安吉县| 万全县| 咸宁市| 木里| 新竹市| 普安县| 玛纳斯县| 山东| 汝阳县| 察哈| 洛扎县| 招远市| 贵南县| 香格里拉县| 望江县| 西林县| 灵武市| 咸阳市| 霍林郭勒市| 德江县| 巴东县| 通山县| 武穴市| 乐业县| 太康县| 凌云县| 时尚| 河曲县| 巴马| 星座| 盈江县| 油尖旺区| 嵊泗县| 小金县| 通许县| 青铜峡市| 来凤县| 韶关市| 城固县|