Предположим, у нас есть строка, где пробелы между словами не являются регулярными , например:
roberto 1007 2.3 6.4 7127016 534260 ?? S 10:18AM 5:32.46 /Applications/Firefox.app/Contents/MacOS/firefox
как создать массив, содержащий все слова?
Это было мое элементарное решение:
std:: string = "roberto 1007 2.3 6.4 7127016 534260 ?? S 10:18AM 5:32.46 /Applications/Firefox.app/Contents/MacOS/firefox ";
size_t length = strlen(string.data());
std::vector<std::string> words;
std::string temp;
for (int i = 0; i < length; i++) {
if (string[i] != ' ') {
temp.push_back(string[i]);
} else {
if (!temp.empty()) {
words.push_back(temp);
temp = "";
}
}
}
std::cout << "words are: " << std::endl;
for (const auto &word : words) {
std::cout << word << std::endl;
}
Спасибо за внимание.