编辑:我在下面对“内容”一词的使用极具误导性。 <script src="https://d3js.org/d3.v5.min.js"></script>
和somestringstream.rdbuf()
之间隐含的差异不存在(由于对Visual Studio调试信息的误解,所以认为如此)。
IIUC somefstream.rdbuf()
显然返回一个指向流内容开头的指针。因此,使用两个rdbuf()
可以做到:
stringstreams
a和b现在都具有a的内容。
但是,当a是b << a.rdbuf(); //b is stringstream, a is stringstream
而b是fstream
时,这似乎不能以相同的方式起作用:
stringstream
现在b具有a的内容,但是a不再具有任何内容。当a为b << a.rdbuf(); //b is stringstream, a is fstream
时,如何确保a保留其内容?为什么它可以与fstream
一起使用,但不能与stringstream
一起使用?
预先感谢您的帮助。
完整(经过测试)的代码,包含示例:
fstream