给你一个简单的解决方案,使用标准io库
#include <iostream>
#include <string>
#include <vector>
#include <sstream>
using namespace std;
int main()
{
//示例字符串
string str("hello this is my first c++ program");
vector<string> vec_str;//存储分解的单词;
string temp;//暂存分解的单词
istringstream instring(str);//用来分解单词的流
//开始分解
while( instring >>temp)
vec_str.push_back(temp);
//测试分解的结果
vector<string>::const_iterator iter = vec_str.begin();
while(iter != vec_str.end())
cout <<*iter++<<endl;
return 0;
}
真正用来分解的代码只有两行
istringstream instring(str);
while( instring >>temp)
写成函数形式如下:
//将分解后的字符串存在一个vector中
void break_string(const string &str, vector<string> &vec_str)
{
istringstream instring(str);
string temp;
while(instring >>temp)
vec_str.push_back(temp);
}
#include <iostream>
#include <string>
#include <vector>
#include <sstream>
using namespace std;
int main()
{
//示例字符串
string str("hello this is my first c++ program");
vector<string> vec_str;//存储分解的单词;
string temp;//暂存分解的单词
istringstream instring(str);//用来分解单词的流
//开始分解
while( instring >>temp)
vec_str.push_back(temp);
//测试分解的结果
vector<string>::const_iterator iter = vec_str.begin();
while(iter != vec_str.end())
cout <<*iter++<<endl;
return 0;
}
真正用来分解的代码只有两行
istringstream instring(str);
while( instring >>temp)
写成函数形式如下:
//将分解后的字符串存在一个vector中
void break_string(const string &str, vector<string> &vec_str)
{
istringstream instring(str);
string temp;
while(instring >>temp)
vec_str.push_back(temp);
}