用getline分割字符串

Posted limancx

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用getline分割字符串相关的知识,希望对你有一定的参考价值。

使用getline和stringstream分割字符串:

 1 #include <iostream>
 2 #include <string>
 3 #include <sstream>
 4 #include <vector>
 5 
 6 using namespace std;
 7 
 8 int main()
 9 {
10     string s;
11     getline(cin,s);
12     stringstream ss(s);
13     vector<string> vs;
14     while(getline(ss,s, ) ) // 这里只能使用单字符,不能使用字符串“”此类
15     {
16         cout << s << "-";
17         vs.push_back(s);
18     }
19     cout << endl;
20     for(auto x:vs)
21     {
22         cout << x << " ";
23     }
24     cout << endl << vs.size() << endl;
25     return 0;
26 }

输入:  1 2 3 4 5 

输出:

 -1-2-3-4-5-
  1 2 3 4 5
 6

可知其遇到一个空格则认为有一个元素,而不管空格前是否有字符。

以上是关于用getline分割字符串的主要内容,如果未能解决你的问题,请参考以下文章

getlineget和put函数

getlineget和put函数

如何使用 STL 拆分字符串? [复制]

Getline 不断获得换行符。我怎样才能避免这种情况?

多个测试用例的getline问题[关闭]

Cpp:将字符串片段解析为元组