Использование stringstream
для извлечения слов из предложения.Почему std :: cout добавляет возврат или новые строки в мой вывод?
Для каждого слова добавляется новая строка, и я не могу понять, почему; ты можешь? Thx за вашу помощь. Keith: ^)
#include <iostream>
#include <sstream>
#include <string>
#include <vector>
#include <algorithm>
int main() {
int wordCount(9);
std::vector<std::string> v(wordCount);
std::vector<std::string>::iterator it;
std::string tStr;
std::string myStr = "the quick fox jumped over the lazy brown dogs";
std::stringstream ss(myStr);
std::cout << "Sentence broken into vector:" << std::endl;
for (int i=0; i<wordCount; ++i) {
ss >> tStr;
v.push_back(tStr);
}
for (it=v.begin(); it != v.end(); ++it)
std::cout << *it << std::endl;
std::cout << std::endl;
return 0;
}
Компиляция, запуск и выход. Обратите внимание на дополнительные строки новой строки.
pickledEgg $ g++ -std=c++11 -g -Og -o io2 io2.cpp
pickledEgg $ ./io2
Sentence broken into vector:
the
quick
fox
jumped
over
the
lazy
brown
dogs
Это будет отличное время для использования отладчика. – chris
Вы не используете 'std :: cin' в любом месте этого кода ... – qxz
вы создали вектор с 9 пустыми строками, а затем вы нажимаете остальные строки на конец ... вывод точно соответствует этому –