2016-07-31 14 views
-4

Ich habe eine ZeichenfolgeExtrahierung Zeichenfolge aus Text

My name is bob.I am fine 

Ich möchte jedes Wort und setzen ‚‘ in einem Vektor von Strings Wie mache ich das mit getline in C++?

Edit: ''

std::vector<std::string> words; 
std::string word; 
while (cin>> word) { 
    words.push_back(word); 
} 

Ich möchte als eine andere Zeichenfolge, die ich nicht tun kann.

+3

wie eine Hausaufgabe Frage Sieht aus arbeiten. Bitte schauen Sie sich [\ [what \]] (http://stackoverflow.com/help/mcve) an, um eine gute Frage zu stellen. – sjsam

+1

Dies ist für SO unpassend. Eine Liste der Themen finden Sie unter [ask]. –

Antwort

0

nicht die eleganteste Lösung, aber dies sollte

#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; 
} 
Verwandte Themen