Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 如何创建自己的ostream/streambuf?_C++_Ostream_Streambuf - Fatal编程技术网

C++ 如何创建自己的ostream/streambuf?

C++ 如何创建自己的ostream/streambuf?,c++,ostream,streambuf,C++,Ostream,Streambuf,出于教育目的,我想创建一个ostream和流缓冲区,以执行以下操作: 在做时修复Endian我不确定你想做的是可能的。规范方法包括定义自己的streambuf。 你应该看看: 关于IOStreams派生 关于过滤streambufs 有关应用程序的示例 对于A+C)我认为你应该看看facet,它们修改了对象作为字符的书写方式。您还可以在此处存储有关对象流化次数的统计信息。 请查看一个示例 对于B)您需要创建自己的streambuf,并将您的ostream连接到该缓冲区(构造函数参数)。见+。

出于教育目的,我想创建一个ostream和流缓冲区,以执行以下操作:


  • 在做时修复Endian我不确定你想做的是可能的。规范方法包括定义自己的streambuf。 你应该看看:

    • 关于IOStreams派生
    • 关于过滤streambufs
    • 有关应用程序的示例
    对于A+C)我认为你应该看看facet,它们修改了对象作为字符的书写方式。您还可以在此处存储有关对象流化次数的统计信息。 请查看一个示例

    对于B)您需要创建自己的streambuf,并将您的ostream连接到该缓冲区(构造函数参数)。见+。 简言之,您需要为ostream实现这一点(至少):

    • 溢出(放入单个字符或刷新缓冲区)()
    • xsputn(将字符数组放入缓冲区)()
    • 同步()

    能否请您提供一段“继续使用basic_ostream”的代码摘要?其中的大部分链接现在都悬而未决。
    ostream& write( const char* s, streamsize n )