📄 ios.cpp
字号:
//// (c) Yuriy Gorvitovskiy// for Openh323, www.Openh323.org//// Windows CE Port//// ios implementation//#include <ptlib.h>#include <iostream.h>const long ios::basefield = (ios::dec | ios::oct | ios::hex);const long ios::adjustfield = (ios::left | ios::right | ios::internal);const long ios::floatfield = (ios::scientific | ios::fixed);long* ios::x_statebuf = NULL;long ios::x_maxbit = 0x8000; // ios::openprotint ios::x_curindex = -1;/*******************************************************************************/ios::ios(){ bp = NULL; state = ios::badbit; ispecial = 0; ospecial = 0; x_tie = (0); x_flags = 0; x_precision = 6; x_fill = ' '; x_width = 0; x_delbuf = 0;}/*******************************************************************************/ios::ios( streambuf* pSB ){ bp = pSB; state = (bp) ? 0 : ios::badbit; ispecial = 0; ospecial = 0; x_tie = (0); x_flags = 0; x_precision = 6; x_fill = ' '; x_width = 0; x_delbuf = 0;}/*******************************************************************************/ios::ios(const ios& _strm) // copy constructor{ bp = NULL; x_delbuf = 0; *this = _strm; // invoke assignment operator}/*******************************************************************************/ios::~ios(){ if ((x_delbuf) && (bp)) delete bp; bp = NULL; state = badbit;}/*******************************************************************************/void ios::init( streambuf* pSB ){ if (delbuf() && (bp)) // delete previous bp if necessary delete bp; bp = pSB; if (bp) state &= ~ios::badbit; else state |= ios::badbit;}/*******************************************************************************/ios& ios::operator=(const ios& _strm){ x_tie = _strm.tie(); x_flags = _strm.flags(); x_precision = (char)_strm.precision(); x_fill = _strm.fill(); x_width = (char)_strm.width(); state = _strm.rdstate(); if (!bp) state |= ios::badbit; // adjust state for uninitialized bp return *this;}/*******************************************************************************/int ios::xalloc(){ long * tptr; int i; if (!(tptr=new long[x_curindex+2])) // allocate new buffer return EOF; for (i=0; i <= x_curindex; i++) // copy old buffer, if any tptr[i] = x_statebuf[i]; tptr[++x_curindex] = 0L; // init new entry, bump size if (x_statebuf) // delete old buffer, if any delete x_statebuf; x_statebuf = tptr; // and assign new buffer return x_curindex;}/*******************************************************************************/long ios::bitalloc(){ long b; lockc(); // lock to make sure mask in unique (_MT) b = (x_maxbit<<=1); unlockc(); return b;}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -