public member function
<sstream>

std::basic_stringstream::rdbuf

basic_stringbuf<char_type,traits_type,allocator_type>* rdbuf() const;
获取流缓冲区
返回指向内部 basic_stringbuf 对象的指针。

请注意,这不一定与其当前“*关联的流缓冲区*”(由继承的 basic_ios::rdbuf 成员返回)相同。

参数



返回值

指向内部 basic_stringbuf 对象的指针。
char_typetraits_typeallocator_type 是成员类型,它们被定义为类模板参数的别名(请参阅 basic_stringstream 类型)。

示例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
// stringstream::rdbuf
#include <string>       // std::string
#include <iostream>     // std::cout
#include <sstream>      // std::stringstream, std::stringbuf

int main () {
  std::stringstream ss;

  // using stringbuf directly:
  std::stringbuf *pbuf = ss.rdbuf();
  pbuf->sputn ("Example string",13);

  char buffer[80];
  pbuf->sgetn (buffer,80);

  std::cout << buffer;

  return 0;
}

Example string


数据竞争

访问流对象。
并发访问同一个流对象可能导致数据争用。

异常安全

强保证:如果抛出异常,流缓冲区将不会发生任何更改。

另见