我正在寻找一种方法来处理字符串流中的各个元素,例如使用数组arr[n]
来完成。我意识到我可以简单地用字符串流,std::string gets = ss.str()
分配一个字符串并处理该字符串,但这似乎很不直观。
最佳答案
流元素是单个字符,并且具有位置。但是,流的读和写部分是分开的(istream
与ostream
),因此您无法轻松地操纵流的内容。并且,通常,流仅支持一次读/写,因此只能倒回一些流。
您可以将所有单词读入 vector ,然后对 vector 进行排序。例如。:
std::vector<std::string> read_words_and_sort(std::istream& s) {
std::vector<std::string> v(std::istream_iterator<std::string>{s},
std::istream_iterator<std::string>{});
std::sort(v.begin(), v.end());
return v;
}
关于c++ - 是否可以在C++中处理字符串流中的单个元素,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/53087890/