请有人帮助我了解“streambuf,stringbuf和stringstream”之间的区别。

void f1(std::string const& text)
{
     std::stringstream           inStream(text);
    cout<<inStream.str()<<endl;
 }

或者如果我写
void f2(std::string const& text)
{
    std::stringbuf           inStream(text);
    cout<<inStream.str()<<endl;
 }

两者显示相同的结果。什么时候应该使用stringbuf或stringstream?提前致谢。

最佳答案

stringbuf使用stringstream,它为流提供缓冲区。 streambuf只是stringbuf的基类。如果需要格式化的输入/输出流(例如将数字放入字符串中),则需要的是stringstream,否则,您想要继续使用简单的string。您永远不需要自己去打扰streambuf家庭。

关于c++ - 请帮我了解streambuf,stringbuf和stringstream之间的区别吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6391458/

10-10 23:53