See:
#include <iostream>
#include <sstream>
#include <vector>
#include <iterator>
std::vector<std::string> SplitByWhiteSpace(std::string stringToSplit)
{
std::istringstream buf(stringToSplit);
std::istream_iterator<std::string> beg(buf), end;
return std::vector<std::string>(beg, end);
}
int main() {
std::vector<std::string> tokens = SplitByWhiteSpace("Hello World!");
for (std::size_t i = 0; i < tokens.size(); ++i)
{
std::cout<<tokens[i]<<"\n";
}
return 0;
}
Dieser Code die Zeichenfolge von white-space teilt und gibt alle Tokens in einem Vektor. Sie können dann alle Token im Vektor drucken.
Es ist fast die gleiche wie zu tun (das gleiche Ergebnis, andere Technik):
std::vector<std::string> SplitByWhiteSpace(std::string stringToSplit)
{
std::string word;
std::vector<std::string> tokens;
std::istringstream buf(stringToSplit);
while (buf >> word)
{
tokens.push_back(word);
}
return tokens;
}
Seien Sie präziser; Ich glaube, es gibt Tonnen von Artikeln, die es erklären. SO ist keine Seite, um Ihnen Code-Interpretation zu geben. –
warum brauche ich istringstream? Ich möchte nach Whitespace teilen –
Bitte bearbeiten Sie Ihre Frage, um Ihren genauen Zweck anzugeben. –