strstreambuf::strstreambuf

构造 strstreambuf 类型的对象。

explicit strstreambuf( 
   streamsize _Count = 0 
); 
strstreambuf( 
   void ( *_Allocfunc )( size_t ), 
   void ( *_Freefunc )( void * ) 
); 
strstreambuf( 
   char *_Getptr,  
   streamsize _Count, 
   char *_Putptr = 0 
); 
strstreambuf( 
   signed char *_Getptr,  
   streamsize _Count, 
   signed char *_Putptr = 0 
); 
strstreambuf( 
   unsigned char *_Getptr, 
   streamsize _Count, 
   unsigned char *_Putptr = 0 
); 
strstreambuf( 
   const char *_Getptr,  
   streamsize _Count 
); 
strstreambuf( 
   const signed char *_Getptr,  
   streamsize _Count 
); 
strstreambuf( 
   const unsigned char *_Getptr,  
   streamsize _Count 
);

参数

  • _Allocfunc
    用于的函数分配缓冲存储区。

  • _Count
    定位缓冲区的长度由 _Getptr指向的。 如果 _Getptr 不为参数 (第一窗体构造函数),则缓冲区的已分配大小的建议。

  • _Freefunc
    用于的函数释放内存缓冲。

  • _Getptr
    用于项的缓冲区。

  • _Putptr
    用于输出的缓冲区。

备注

第一构造函数控制输入存储在缓冲区、输出缓冲区和 strstreambuf 分配的所有指针的 null 指针。 它存储设置的 strstreambuf 模式使控制可修改序列和可扩展的。 它还接受 _Count,一种建议的初始分配大小。

第二个构造函数行为与第一,除此之外,它存储_Allocfunc 作为指向函数调用分配存储空间和_Freefunc 作为指针到函数到调用释放该存储空间。

三个构造函数:

strstreambuf(char *_Getptr, streamsize count,
    char *putptr = 0);
strstreambuf(signed char *_Getptr, streamsize count,
    signed char *putptr = 0);
strstreambuf(unsigned char *_Getptr, streamsize count,
    unsigned char *putptr = 0);

还要的行为像第一,除此之外,_Getptr 指定用于的数组对象保持控制序列。(因此,不能为 null 指针。)N 的 数目确定元素数组中如下所示:

  • 如果 (_Count > 0),然后 跳过count

  • 如果 (_Count ==0) N,然后是 strlen(char )_Getptr (const *)。

  • 如果 (_Count < 0),然后 跳过INT_MAX

如果 _Putptr 为 null 指针,函数通过建立一个输入缓冲区:

setg(_Getptr, _Getptr, _Getptr + N);

否则,其通过建立输入和输出缓冲区:

setg(_Getptr, _Getptr, _Putptr);
setp(_Putptr, _Getptr + N);

在这种情况下,必须在 _Putptr [_Getptr_Getptr ]、+ "

最后,这个构造函数:

strstreambuf(const char *_Getptr, streamsize _Count);
strstreambuf(const signed char *_Getptr, streamsize _Count);
strstreambuf(const unsigned char *_Getptr, streamsize _Count);

任何相同的行为如下:

streambuf( (char *)_Getptr, _Count );

存储的模式,但不会使控制可修改序列和可扩展的。

要求

页眉: <strstream>

命名空间: std

请参见

参考

strstreambuf 类

iostream 编程

iostreams 约定