请有人帮助我了解“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/