亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來(lái)到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? stdiostr.cpp

?? C標(biāo)準(zhǔn)庫(kù)源代碼,能提高對(duì)C的理解,不錯(cuò)的哦
?? CPP
字號(hào):
/***
*stdiostr.cpp -
*
*       Copyright (c) 1991-1997, Microsoft Corporation.  All rights reserved.
*
*Purpose:
*
*******************************************************************************/

#include <cruntime.h>
#include <internal.h>
#include <string.h>
#include <stdiostr.h>
#include <dbgint.h>
#pragma hdrstop

extern "C" {
#include <file2.h>
#include <msdos.h>
}
#include <dos.h>

        stdiobuf::stdiobuf(FILE * f)
: streambuf()
{
        unbuffered(1);                  // initially unbuffered
        _str = f;
}

        stdiobuf::~stdiobuf()
// : ~streambuf()
{
        stdiobuf::sync();               // make sure buffer flushed
}

        int stdiobuf::setrwbuf(int readsize, int writesize)
{
    char * tbuf;
    unbuffered(!(readsize+writesize));
    if (unbuffered())
        return(0);

    tbuf = _new_crt char[(readsize+writesize)];
    if (!tbuf)
        return(EOF);

    setb( tbuf, tbuf + (readsize+writesize), 1);

    if (readsize)
        {
        setg(base(),base()+readsize,base()+readsize);
        }
    else
        {
        setg(0,0,0);
        }

    if (writesize)
        {
        setp(base()+readsize,ebuf());
        }
    else
        {
        setp(0,0);
        }

    return(1);
}

int stdiobuf::overflow(int c) {
    long count, nout;
    if (allocate()==EOF)        // make sure there is a reserve area
        return EOF;
    if (!unbuffered() && epptr())
        {
        if ((count = pptr() - pbase()) > 0)
            {
            nout=fwrite((void *) pbase(), 1, (int)count, _str);
            pbump(-(int)nout);
            if (nout != count)
                {
                memmove(pbase(),pbase()+nout,(int)(count-nout));
                return(EOF);
                }
            }
        }
    if ((!unbuffered()) && (!epptr()))
        setp(base()+(blen()>>1),ebuf());
    if (c!=EOF)
        {
        if ((!unbuffered()) && (pptr() < epptr())) // guard against recursion
            sputc(c);
        else
            return fputc(c, _str);
        }
    return(1);  // return something other than EOF if successful
}

int stdiobuf::underflow()
{
    int count;
    if (allocate()==EOF)        // make sure there is a reserve area
        return EOF;
    if ((!unbuffered()) && (!egptr()))
        setg(base(),(base()+(blen()>>1)),(base()+(blen()>>1)));

    if (unbuffered() || (!egptr()))
        return fgetc(_str);
    if (gptr() >= egptr())
// buffer empty, try for more
    {
    if (!(count = fread((void *)eback(), 1, (size_t)(egptr()-eback()), _str)))
        return(EOF); // reach EOF, nothing read
    setg(eback(),(egptr()-count),egptr());   // _gptr = _egptr - count
    if (gptr()!=eback())
        {
        memmove(gptr(), eback(), count);        // overlapping memory!
        }
    }
    return sbumpc();
}

streampos stdiobuf::seekoff(streamoff off, ios::seek_dir dir, int)
{

    int fdir;
    long retpos;
    switch (dir) {
        case ios::beg :
            fdir = SEEK_SET;
            break;
        case ios::cur :
            fdir = SEEK_CUR;
            break;
        case ios::end :
            fdir = SEEK_END;
            break;
        default:
        // error
            return(EOF);
        }

    stdiobuf::overflow(EOF);
    if (fseek(_str, off, fdir))
        return (EOF);
    if ((retpos=ftell(_str))==-1L)
        return(EOF);
    return((streampos)retpos);
}

int stdiobuf::pbackfail(int c)
{
    if (eback()<gptr()) return sputbackc((char)c);

    if (stdiobuf::seekoff( -1, ios::cur, ios::in)==EOF)
        return EOF;
    if (!unbuffered() && egptr())
        {
        memmove((gptr()+1),gptr(),(egptr()-(gptr()+1)));
        *gptr()=(char)c;
        }
    return(c);
}

int stdiobuf::sync()
{
    long count;
    char * p;
    char flags;
    if (!unbuffered())
        {
        if (stdiobuf::overflow(EOF)==EOF)
            return(EOF);
        if ((count=in_avail())>0)
            {
#ifdef _WIN32
            flags = _osfile_safe(_fileno(_str));
#else  /* _WIN32 */
            flags = _osfile[_fileno(_str)];
#endif  /* _WIN32 */
            if (flags & FTEXT)
                {
                // If text mode, need to account for CR/LF etc.
                for (p = gptr(); p < egptr(); p++)
                    if (*p == '\n')
                        count++;

                // account for EOF if read, not counted by _read
                if (_str->_flag & _IOCTRLZ)
                    count++;
                }
            if (stdiobuf::seekoff( -count, ios::cur, ios::in)==EOF)
                return(EOF);

            setg(eback(),egptr(),egptr()); // empty get area (_gptr = _egptr;)
            }
        }
    return(0);
}

        stdiostream::stdiostream(FILE * file)
: iostream(_new_crt stdiobuf(file))
{
istream::delbuf(1);
ostream::delbuf(1);
}

        stdiostream::~stdiostream()
{
}

// include here for better granularity

int ios::sunk_with_stdio = 0;

void ios::sync_with_stdio()
{
    if (!sunk_with_stdio)       // first time only
        {
        cin = _new_crt stdiobuf(stdin);
        cin.delbuf(1);
        cin.setf(ios::stdio);

        cout = _new_crt stdiobuf(stdout);
        cout.delbuf(1);
        cout.setf(ios::stdio|ios::unitbuf);
        ((stdiobuf*)(cout.rdbuf()))->setrwbuf(0,80);

        cerr = _new_crt stdiobuf(stderr);
        cerr.delbuf(1);
        cerr.setf(ios::stdio|ios::unitbuf);
        ((stdiobuf*)(cerr.rdbuf()))->setrwbuf(0,80);

        clog = _new_crt stdiobuf(stderr);
        clog.delbuf(1);
        clog.setf(ios::stdio);
        ((stdiobuf*)(clog.rdbuf()))->setrwbuf(0,BUFSIZ);

        sunk_with_stdio++;
        }
}

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲一区在线视频| 亚洲欧洲成人av每日更新| 五月天视频一区| 欧美日韩视频在线观看一区二区三区| 亚洲特级片在线| 91美女片黄在线观看| 亚洲人成7777| 欧美日韩成人激情| 青青草国产成人99久久| www国产精品av| 国产成人av电影在线| 中文字幕一区二区三区视频| 91麻豆精东视频| 五月婷婷另类国产| 久久伊99综合婷婷久久伊| 国产91在线观看| 一二三区精品视频| 91精品国产一区二区| 国产成都精品91一区二区三| 亚洲桃色在线一区| 91精品国产综合久久婷婷香蕉| 乱中年女人伦av一区二区| 国产午夜亚洲精品午夜鲁丝片| www.欧美日韩国产在线| 一区二区三区四区视频精品免费 | 69p69国产精品| 欧美aaaaaa午夜精品| 国产清纯在线一区二区www| 95精品视频在线| 蜜桃av一区二区| 国产精品精品国产色婷婷| 欧美日韩国产大片| 国产成人啪免费观看软件| 一个色在线综合| www激情久久| 欧美三级一区二区| 国产成人激情av| 日韩高清不卡在线| 综合久久久久综合| 欧美变态tickling挠脚心| 99久久久久久| 精品一区二区综合| 亚洲成人精品影院| 国产精品女上位| 日韩精品中文字幕一区二区三区 | 蜜臂av日日欢夜夜爽一区| 国产精品成人在线观看| 日韩视频一区二区三区| 成人h动漫精品| 久久超碰97人人做人人爱| 伊人色综合久久天天| 国产午夜一区二区三区| 欧美精品 日韩| 在线精品观看国产| 成人av片在线观看| 国产美女在线观看一区| 日本不卡视频一二三区| 一区二区三区自拍| 国产精品乱人伦一区二区| 2023国产精品自拍| 日韩一区国产二区欧美三区| 欧美亚洲国产一区二区三区va | 国产精品亚洲综合一区在线观看| 亚洲国产人成综合网站| 亚洲区小说区图片区qvod| 久久九九久久九九| 精品久久久久99| 日韩精品在线一区| 日韩视频在线一区二区| 日韩丝袜情趣美女图片| 在线不卡欧美精品一区二区三区| 在线视频国内自拍亚洲视频| 91尤物视频在线观看| 成人app网站| 国产精品中文字幕欧美| 国产综合久久久久影院| 激情欧美一区二区三区在线观看| 日本大胆欧美人术艺术动态| 五月婷婷综合在线| 蜜臀精品一区二区三区在线观看| 日韩高清在线电影| 青青草国产成人av片免费| 美国毛片一区二区| 国产一区二区福利| 国产精品白丝jk黑袜喷水| 国产91在线|亚洲| 99久久精品国产毛片| 欧美专区亚洲专区| 欧美日本一区二区| 欧美一三区三区四区免费在线看 | 欧美丝袜丝交足nylons| 欧美日免费三级在线| 欧美丰满少妇xxxxx高潮对白| 欧美夫妻性生活| 2021中文字幕一区亚洲| 中文字幕欧美日韩一区| 亚洲特级片在线| 视频一区二区国产| 美女视频网站久久| 国产激情91久久精品导航| 99久久精品国产麻豆演员表| 欧美专区亚洲专区| 日韩欧美中文字幕公布| 久久久久97国产精华液好用吗| 国产精品污网站| 一级日本不卡的影视| 免费亚洲电影在线| 国产99久久久久久免费看农村| 91美女在线视频| 91精品国模一区二区三区| 久久久久国产精品麻豆ai换脸| 亚洲卡通欧美制服中文| 青青草国产成人av片免费| 国产精品系列在线观看| 欧美午夜视频网站| 欧美r级在线观看| 最新日韩av在线| 蜜桃av噜噜一区| 91麻豆swag| 精品久久久久久最新网址| 亚洲色图色小说| 久热成人在线视频| 91免费小视频| 2021国产精品久久精品| 一区二区成人在线视频| 国产美女精品在线| 欧美在线短视频| 国产日韩欧美不卡| 日产国产欧美视频一区精品| 成人av网站免费观看| 日韩一级在线观看| 亚洲男同性视频| 韩国女主播成人在线观看| 欧美日精品一区视频| 国产精品乱码人人做人人爱| 日韩av午夜在线观看| 91在线精品秘密一区二区| 日韩女优视频免费观看| 艳妇臀荡乳欲伦亚洲一区| 成人精品视频一区二区三区尤物| 欧美精品第1页| 一区二区三区欧美| 国产91在线|亚洲| 欧美精品一区二区三区很污很色的 | 亚洲国产综合人成综合网站| 高清成人在线观看| 精品国产精品网麻豆系列| 午夜精品一区二区三区三上悠亚| 91在线观看视频| 日本一区二区三区高清不卡| 蜜桃久久久久久久| 91精品国产手机| 日韩福利电影在线观看| 欧洲av一区二区嗯嗯嗯啊| 亚洲欧洲国产日本综合| 成人黄色软件下载| 国产精品欧美精品| 粉嫩av一区二区三区| 久久在线观看免费| 老司机午夜精品| 精品国产污污免费网站入口| 免费观看日韩av| 日韩欧美综合一区| 久久成人久久爱| 亚洲精品一区二区三区四区高清| 久久精品噜噜噜成人88aⅴ| 91精品福利在线一区二区三区 | 国产成人一区在线| 久久亚洲一区二区三区四区| 久久精品久久99精品久久| 精品久久久久一区二区国产| 久久99国产精品麻豆| 久久久久久久性| www.综合网.com| 伊人色综合久久天天| 欧美日韩在线电影| 青娱乐精品视频| 久久综合给合久久狠狠狠97色69| 国产在线精品国自产拍免费| 国产亚洲自拍一区| 成人高清视频免费观看| 亚洲人成网站精品片在线观看 | 92国产精品观看| 亚洲免费在线看| 欧美日韩国产小视频| 午夜精品一区二区三区免费视频| 91麻豆精品国产自产在线 | 国产传媒欧美日韩成人| 中文在线一区二区| 91免费视频观看| 午夜在线成人av| 欧美精品一区男女天堂| 99精品欧美一区二区三区小说 | 亚洲国产成人va在线观看天堂| 欧美人xxxx| 国产乱码精品1区2区3区| 国产精品福利一区二区三区| 欧美日韩一区二区三区高清 | 开心九九激情九九欧美日韩精美视频电影 | 亚洲一级二级三级在线免费观看|