⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 outbuf2.hpp

📁 stl自带源码
💻 HPP
字号:
/* The following code example is taken from the book * "The C++ Standard Library - A Tutorial and Reference" * by Nicolai M. Josuttis, Addison-Wesley, 1999 * * (C) Copyright Nicolai M. Josuttis 1999. * Permission to copy, use, modify, sell and distribute this software * is granted provided this copyright notice appears in all copies. * This software is provided "as is" without express or implied * warranty, and with no claim as to its suitability for any purpose. */#include <iostream>#include <streambuf>#include <cstdio>extern "C" {    int write (int fd, const char* buf, int num);}class fdoutbuf : public std::streambuf {  protected:    int fd;    // file descriptor  public:    // constructor    fdoutbuf (int _fd) : fd(_fd) {    }  protected:    // write one character    virtual int_type overflow (int_type c) {        if (c != EOF) {            char z = c;            if (write (fd, &z, 1) != 1) {                return EOF;            }        }        return c;    }    // write multiple characters    virtual    std::streamsize xsputn (const char* s,                            std::streamsize num) {        return write(fd,s,num);    }};class fdostream : public std::ostream {  protected:    fdoutbuf buf;  public:    fdostream (int fd) : std::ostream(0), buf(fd) {        rdbuf(&buf);    }};

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -