可以在C++中解决字符串流中的各个元素吗?

可以在C++中解决字符串流中的各个元素吗?,c++,string,stringstream,C++,String,Stringstream,我正在寻找一种方法来处理字符串流中的单个元素,例如使用数组arr[n]来完成。我意识到我可以简单地用字符串流分配一个字符串,std::string get=ss.str并寻址该字符串,但这似乎违反直觉。流元素是独立的字符,它们有位置。然而,流的读写部分是独立的istream和ostream,所以您无法轻松地操作流的内容。而且,一般来说,流支持读/写一次,只有一些流可以重绕 我正在尝试使用for循环按字母顺序对字符串流中的单个单词进行排序 您可以将所有单词读入向量,然后对向量进行排序。例如: st

我正在寻找一种方法来处理字符串流中的单个元素,例如使用数组arr[n]来完成。我意识到我可以简单地用字符串流分配一个字符串,std::string get=ss.str并寻址该字符串,但这似乎违反直觉。

流元素是独立的字符,它们有位置。然而,流的读写部分是独立的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;
}

流元素是单个字符,它们具有位置。然而,流的读写部分是独立的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;
}

您可以尝试在字符串stream中使用rdbuf?不,无法直接访问流缓冲区的单个字符,这不是它的用途。但是您可以访问字符串表示的元素。您想做什么?我正在尝试使用for循环按字母顺序对字符串流中的单个单词进行排序。您可以尝试在字符串流中使用rdbuf?不,无法直接访问流缓冲区的单个字符,这不是它的用途。但是您可以访问字符串表示的元素。您想做什么?我正在尝试使用for循环按字母顺序对字符串流中的单个单词进行排序。