2016-10-08 3 views
0

Wie kann ich eine vom Benutzer eingegebene Zeichenfolge in Argumente aufteilen?Teilen einer vom Benutzer eingegebenen Zeichenfolge in Argumenten

unter der Annahme, dass ein Benutzertyp: test1 test2 test3

Wie kann ich jeden eingegebenen Werte trennen, in einer Weise, dass ich diese Werte separat zugreifen kann?

+3

'std :: cin >> Zeichenfolge1 >> Zeichenfolge2 >> string3;' Wo string1, string2 und string3 sind Variablen vom Typ 'std :: string'. – drescherjm

+0

Sie können ein Trennzeichen entweder Leerzeichen oder ein anderes Zeichen verwenden – Raindrop7

Antwort

1

Verwenden Sie getline mit stringstream, um Zeichen aus Benutzereingaben zu extrahieren, und speichert sie in einer Zeichenfolge, bis die Begrenzung angezeigt wird. sequentiell einen Vektor verwenden, um die extrahierten Zeichen zu speichern.

etwas wie folgt aus:

void split(std::vector<std::string> &args, std::string userInput, char delimiter) 
{ 

    std::stringstream ss(userInput); 
    std::string buf; 
    while(getline(ss, buf, delimiter)) { 
     args.push_back(buf); 
    } 

} 
+1

Bitte ermutigen Sie diese Art von armen (wenig recherchiert) Fragen, indem Sie eine Antwort hinterlassen. Dies beeinträchtigt aktiv die Qualität der Website. –

+2

ich verstehe aber, ich habe nur versucht zu helfen, was ist los damit? – Rhayden

+2

Die Website ist nicht als persönlicher Helpdesk gedacht. Wenn du das machen willst, nimm an quora oder so teil. Heben Sie ein mögliches Duplikat hervor und markieren Sie die Frage. –

Verwandte Themen