streambuf 由字符流或字符序列和一个或两个指向相应序列的指针组成。每个指针都指向两个字符间。(实际上,指针无法指向字符之间,但可以按这种方式理解指针。)有两种 streambuf 指针:
streambuf 可以有其中一个指针,也可以两个全有。
可以使用多种方法来操作指针的位置和序列的内容。操作两个指针时它们是否都会移动取决于使用 streambuf 的种类。通常,使用队列式 streambuf 流时,get 和 put 指针独立移动。使用文件式 streambuf 流时,get 和 put 指针始终一起移动。例如,strstream 是队列式流,fstream 是文件式流。