我正在寻找一种在字符串流中寻址单个元素的方法,比如对数组arr[n]所做的操作。我意识到我可以简单地用字符串流、std::string gets = ss.str()和address字符串分配一个字符串,但这似乎有悖常理。
发布于 2018-10-31 16:28:37
流元素是单个字符,它们有位置。但是,流的读和写部分是分开的(istream和ostream),所以您不能轻松地操作流的内容。而且,通常情况下,流只支持读写一次,只有一些流可以被重绕。
我试图使用for循环按字母顺序对字符串流中的单个单词进行排序。
您可以将所有单词读入向量,然后对向量进行排序。例如:
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;
}https://stackoverflow.com/questions/53087890
复制相似问题