Просто есть строка string, в ней слова, разделенные пробелами. Как пройтись по этой строке, поочередно занося в буфер эти слова. То есть, сначала в буфер заносим первое слово, потом второе, и так до конца этой строки. Интересует, как сделать это на основе методов string, или другим наиболее рациональным способом.
Вот демонстрационная программа. В качестве "буфера" используется контейнер std::vector
.
#include <iostream>
#include <sstream>
#include <algorithm>
#include <iterator>
#include <vector>
#include <string>
int main()
{
char s[] = "one two three";
std::cout << s << std::endl;
std::vector<std::string> v;
std::istringstream is( s );
std::copy( std::istream_iterator<std::string>( is ),
std::istream_iterator<std::string>(),
std::back_inserter( v ) );
for ( const auto &item : v ) std::cout << item << ' ';
std::cout << std::endl;
return 0;
}
Ее вывод на консоль
one two three
one two three
Можете заменить объявление символьного массива на объявление объекта типа std::string
.
std::string s( "one two three" );
Перевод документов на английский язык: Важность и ключевые аспекты
Какие существуют виды рекламных бордов и как выбрать подходящий?
Есть символ С и строки S1, S2Перед каждым входжением символа С в строку S1 нужно вставить строку S2
Необходимо написать парсер кода для подсчёта метрики ЧепинаНепонятен алгоритм написания парсера
Написал программу которая берет данные с сайта и выводит их в DataGridView, все работает когда одна формаНо когда я добавил вторую форму, чтобы...