• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
    • 軟件測試技術
    • 軟件測試博客
    • 軟件測試視頻
    • 開源軟件測試技術
    • 軟件測試論壇
    • 軟件測試沙龍
    • 軟件測試資料下載
    • 軟件測試雜志
    • 軟件測試人才招聘
      暫時沒有公告

    字號: | 推薦給好友 上一篇 | 下一篇

    C++的流basic_streambuf

    發布: 2008-4-22 18:25 | 作者: 不詳 | 來源: http://dev.csdn.net/author/linweixuan/index.html | 查看: 157次 | 進入軟件測試論壇討論

    領測軟件測試網 關鍵字:basic_streambufC++的流basic_streambuf
    不是個抽象類,但是他是C++流的基類.它提供了基本的緩沖區管理.它包含六個緩存區指針,三個分別是讀指針(開頭,結尾,當前),另外三個是寫指針(開頭,結尾,當前)
     
        讀開始指針                            當前讀指針                                    讀結尾指針
    _M_gbegin                          _M_gnext                      _M_gend
             
             =========================================================     
                  ^                                                      ^                                              ^
           _M_pbegin                          _M_pnext                      _M_pend
               寫開始指針                            當前寫指針                           寫結尾指針
     
    template <class_CharT, class_Traits>
    classbasic_streambuf
    {
     friendclassbasic_istream<_CharT, _Traits>;
     friendclassbasic_ostream<_CharT, _Traits>;
    public:                         // Typedefs.
     typedef_CharT                   char_type;
     typedeftypename_Traits::int_type        int_type;
     typedeftypename_Traits::pos_type     pos_type;
     typedeftypename_Traits::off_type       off_type;
     typedef_Traits                    traits_type;
     
    public:                         // Destructor.
     virtual ~basic_streambuf() {}
     
    public:                         // Locale-related functions.
     localepubimbue(constlocale& __loc) {
        this->imbue(__loc);
        locale__tmp = _M_locale;
        _M_locale = __loc;
        return__tmp;
     }
     localegetloc() const { return_M_locale; }
     
    public:                         // Buffer management.
     //設置緩沖區和長度
     basic_streambuf* pubsetbuf(char_type* __s, streamsize__n) 
        { returnthis->setbuf(__s, __n); }
     
     //設置緩沖區偏移量,簡單調用seekoff()函數
     pos_typepubseekoff(off_type__offset, ios_base::seekdir__way,
                          ios_base::openmode__mod = ios_base::in | ios_base::out)
        { returnthis->seekoff(__offset, __way, __mod); }
    //設置緩沖區位置,簡單調用seekpos()函數
     pos_typepubseekpos(pos_type__sp,
                          ios_base::openmode__mod = ios_base::in | ios_base::out)
        { returnthis->seekpos(__sp, __mod); }
     
    //放置緩沖區同步,簡單調用sync()函數
     intpubsync() { returnthis->sync(); }

    延伸閱讀

    文章來源于領測軟件測試網 http://www.kjueaiud.com/

    TAG: basic streambuf

    41/41234>

    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(C) 2003-2010 TestAge(領測軟件測試網)|領測國際科技(北京)有限公司|軟件測試工程師培訓網 All Rights Reserved
    北京市海淀區中關村南大街9號北京理工科技大廈1402室 京ICP備2023014753號-2
    技術支持和業務聯系:info@testage.com.cn 電話:010-51297073

    軟件測試 | 領測國際ISTQBISTQB官網TMMiTMMi認證國際軟件測試工程師認證領測軟件測試網

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>