我有一个字符串
My name is bob.I am fine
我想把每个单词和'。'在字符串向量中 如何在c ++中使用getline做到这一点?
修改
std::vector<std::string> words;
std::string word;
while (cin>> word) {
words.push_back(word);
}
我想要&#39;。&#39;作为一个我无法做的不同的字符串。
答案 0 :(得分:0)
不是最优雅的解决方案,但这应该有效
#include <iostream>
#include <vector>
#include <string>
#include <sstream>
using namespace std;
vector<string> split(string str, char delimiter)
{
vector<string> internal;
stringstream ss(str);
string tok;
while(getline(ss, tok, delimiter))
{
internal.push_back(tok);
}
return internal;
}
int main(int argc, char **argv)
{
string str = "My name is bob.I am fine";
for(int i = 0; i < str.length(); i++)
{
if(str[i] == '.')
{
str.insert(i++," ");
str.insert(++i," ");
}
}
vector<string> sep = split(str, ' ');
for(string t : sep)
cout << t << endl;
}