1.以空格为分隔符
利用stringstream
注意头文件:#include<stringstream>
#include<iostream>
#include<fstream>
#include<string>
#include<vector>
#include<sstream>using namespace std;int main()
{vector<string> m_f_v;vector<string> p_f_v;string str;stringstream ss;cout << "请输入Mat的朋友列表:" << endl;getline(cin,str);ss << str;while (ss>>str)//以空格分割字符串,每次分割结果存入str{m_f_v.push_back(str);//将分割的字符串送入容器中}return 0;
}
2.以任意字符为分割符
以stringstream作为输入流传入getline,指定分隔符
#include<iostream>
#include<fstream>
#include<string>
#include<vector>
#include<sstream>using namespace std;vector<string> splitString(string str, char delimiter)
{vector<string> res;//存放处理好的结果stringstream ss(str);//作为getline的输入string tmp;//存放分割的单个字符串while (getline(ss, tmp, delimiter)){res.push_back(tmp);}return res;
}
示例代码
#include<iostream>
#include<fstream>
#include<string>
#include<vector>
#include<sstream>using namespace std;vector<string> splitString(string str, char delimiter)
{vector<string> res;//存放处理好的结果stringstream ss(str);//作为getline的输入string tmp;//存放分割的单个字符串while (getline(ss, tmp, delimiter)){res.push_back(tmp);}return res;
}int main()
{vector<string> m_f_v;vector<string> p_f_v;string str;stringstream ss;cout << "请输入Mat的朋友列表:" << endl;getline(cin,str);ss << str;while (ss>>str)//以空格分割字符串,每次分割结果存入str{m_f_v.push_back(str);//将分割的字符串送入容器中}return 0;
}