c 分割字串 類似於boost split

2022-07-05 18:06:10 字數 1116 閱讀 8879

由於c++字串沒有split函式,所以字串分割單詞的時候必須自己手寫,也相當於自己實現乙個split函式吧!

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

1 #include 2 #include 3 #include 

4 #include 5

using

namespace

std;67

intmain()819

for(auto item : results)

2023 }

如果是多種字元分割,比如,。!等等,就需要自己寫乙個類似於split的函式了:

1 #include 2 #include 3 #include 

4 #include 5

using

namespace

std;

67 vector is_any_of(string

str)814

15void split(vector& result, string str, vectordelimiters)

1629

if (itres == string

::npos)

3034 result.push_back(str.substr(start, itres -start));

35 start =itres;

36 ++start;37}

38}3940

intmain()

4150 }

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

感謝@chxuan提供的另一種實現方法,使用strtok_s分割字串:

1 std::vectorstring> split(const std::string& str, const std::string&delimiter)211

return

result;

12 }

復原ip位址(類似分割字串)

題目鏈結 給定乙個只包含數字的字串,復原它並返回所有可能的 ip 位址格式。有效的 ip 位址 正好由四個整數 每個整數字於 0 到 255 之間組成,且不能含有前導 0 整數之間用 分隔。例如 0.1.2.201 和 192.168.1.1 是 有效的 ip 位址,但是 0.011.255.245...

類似於c語言讀取檔案進行解析

stream fread handle,length 從檔案當前指標位置,往後讀取n個位元組長度 重置檔案指標的位置。指定指標的位置,指標位置修改後。讀取檔案,後面是從這個位置開始讀取了 fseek handle,105 fgets表示每次讀取檔案的一行 error log array while ...

C 字串分割

c 中的字元分割是乙個常見的應用,下面是乙個字串分割的 字串分割 vectorsplit string const string str,const string delimiters else pos delim split str.find delimiters res.push back sp...