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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? otl.hpp

?? 一個比較好的開源數據庫讀取庫
?? HPP
?? 第 1 頁 / 共 5 頁
字號:
  unsigned char* v;  int length;  int extern_buffer_flag;  int buf_size;  bool this_is_last_piece_;  otl_long_string(const int buffer_size=32760,const int input_length=0):    v(0),    length(0),    extern_buffer_flag(0),    buf_size(0),    this_is_last_piece_(false) {   this_is_last_piece_=false;   if(buffer_size==0){     v=0;     length=0;     extern_buffer_flag=0;   }else{     extern_buffer_flag=0;     length=input_length;     buf_size=buffer_size;     v=new unsigned char[buffer_size+1];     memset(v,0,buffer_size);   } } otl_long_string (const void* external_buffer,  const int buffer_size,  const int input_length=0):    v(OTL_RCAST(unsigned char*, OTL_CCAST(void*, external_buffer))),    length(input_length),    extern_buffer_flag(1),    buf_size(buffer_size),    this_is_last_piece_(false) { }  otl_long_string& operator=(const otl_long_string& s)  {    this_is_last_piece_=s.this_is_last_piece_;    if(s.extern_buffer_flag){      if(!extern_buffer_flag)        delete[] v;      v=s.v;      length=s.length;      extern_buffer_flag=s.extern_buffer_flag;      buf_size=s.buf_size;    }else{      if(extern_buffer_flag){        v=new unsigned char[s.buf_size];        buf_size=s.buf_size;      }else if(buf_size<s.buf_size){        delete[] v;        v=new unsigned char[s.buf_size];        buf_size=s.buf_size;      }      length=s.length;      extern_buffer_flag=s.extern_buffer_flag;      memcpy(v,s.v,length);      if(length<buf_size&&s.v[length]==0)        v[length]=0;    }    return *this;  }  otl_long_string(const otl_long_string& s):    v(0),    length(s.length),    extern_buffer_flag(s.extern_buffer_flag),    buf_size(s.buf_size),    this_is_last_piece_(s.this_is_last_piece_)  {    if(s.extern_buffer_flag)      v=s.v;    else{      v=new unsigned char[buf_size];      memcpy(v,s.v,length);      if(length<buf_size&&s.v[length]==0)        v[length]=0;    }  }  virtual ~otl_long_string()  {   if(!extern_buffer_flag)delete[] v;  }  void set_len(const int alen=0){length=alen;}  int len(void)const {return length;}  void set_last_piece(const bool this_is_last_piece=false)  {    this_is_last_piece_=this_is_last_piece;  }  unsigned char& operator[](int ndx){return v[ndx];}  virtual void null_terminate_string(const int alen)  {    (*this)[alen]=0;  }};#if defined(OTL_UNICODE)class otl_long_unicode_string: public otl_long_string{public:  otl_long_unicode_string(const int buffer_size=32760,const int input_length=0)    : otl_long_string(0,0)  {    extern_buffer_flag=0;    length=input_length;    buf_size=buffer_size;    v=new unsigned char[(buffer_size+1)*sizeof(OTL_WCHAR)];    memset(v,0,buffer_size*sizeof(OTL_WCHAR));  }  otl_long_unicode_string  (const void* external_buffer,   const int buffer_size,   const int input_length=0)    : otl_long_string(external_buffer,buffer_size,input_length)  {    extern_buffer_flag=1;    length=input_length;    buf_size=buffer_size;    v=OTL_RCAST(unsigned char*, OTL_CCAST(void*, external_buffer));  }  virtual ~otl_long_unicode_string(){}  OTL_CHAR& operator[](int ndx)  {    return OTL_RCAST(OTL_CHAR*,v)[ndx];  }  virtual void null_terminate_string(const int alen)  {    (*this)[alen]=0;  }};#endifinline const char* otl_var_type_name(const int ftype){  const char* const_CHAR="CHAR";  const char* const_DOUBLE="DOUBLE";  const char* const_FLOAT="FLOAT";  const char* const_INT="INT";  const char* const_UNSIGNED_INT="UNSIGNED INT";  const char* const_SHORT_INT="SHORT INT";  const char* const_LONG_INT="LONG INT";  const char* const_TIMESTAMP="TIMESTAMP";  const char* const_DB2DATE="DB2DATE";  const char* const_DB2TIME="DB2TIME";  const char* const_TZ_TIMESTAMP="TIMESTAMP WITH TIME ZONE";  const char* const_LTZ_TIMESTAMP="TIMESTAMP WITH LOCAL TIME ZONE";  const char* const_BIGINT="BIGINT";  const char* const_VARCHAR_LONG="VARCHAR LONG";  const char* const_RAW_LONG="RAW LONG";  const char* const_CLOB="CLOB";  const char* const_BLOB="BLOB";  const char* const_RAW="RAW";  const char* const_UNKNOWN="UNKNOWN";  const char* const_LONG_STRING="otl_long_string()";  const char* const_LOB_STREAM="otl_lob_stream*&";  const char* const_USER_DEFINED="User-defined type (object type, VARRAY, Nested Table)";#if defined(OTL_ORA_UNICODE)||defined(OTL_ORA_UTF8)  const char* const_NCHAR="NCHAR";  const char* const_NCLOB="NCLOB";#endif  switch(ftype){#if defined(OTL_ORA_UNICODE)||defined(OTL_ORA_UTF8)  case otl_var_nchar:    return const_NCHAR;  case otl_var_nclob:    return const_NCLOB;#endif  case otl_var_char:    return const_CHAR;  case otl_var_double:    return const_DOUBLE;  case otl_var_float:    return const_FLOAT;  case otl_var_int:    return const_INT;  case otl_var_unsigned_int:    return const_UNSIGNED_INT;  case otl_var_short:    return const_SHORT_INT;  case otl_var_long_int:    return const_LONG_INT;  case otl_var_timestamp:    return const_TIMESTAMP;  case otl_var_db2date:    return const_DB2DATE;  case otl_var_db2time:    return const_DB2TIME;  case otl_var_tz_timestamp:    return const_TZ_TIMESTAMP;  case otl_var_ltz_timestamp:    return const_LTZ_TIMESTAMP;  case otl_var_bigint:    return const_BIGINT;  case otl_var_varchar_long:    return const_VARCHAR_LONG;  case otl_var_raw_long:    return const_RAW_LONG;  case otl_var_clob:    return const_CLOB;  case otl_var_blob:    return const_BLOB;  case otl_var_raw:    return const_RAW;  case otl_var_long_string:    return const_LONG_STRING;  case otl_var_lob_stream:    return const_LOB_STREAM;  case 108:    return const_USER_DEFINED; default:  return const_UNKNOWN; }}inline void otl_var_info_var(const char* name, const int ftype, const int type_code, char* var_info,#if defined(_MSC_VER)#if (_MSC_VER >= 1400) // VC++ 8.0 or higher const size_t var_info_sz#else const size_t /*var_info_sz*/#endif#else const size_t /*var_info_sz*/#endif){char buf1[128]; char buf2[128]; OTL_STRCPY_S(buf1,sizeof(buf1),otl_var_type_name(ftype)); OTL_STRCPY_S(buf2,sizeof(buf2),otl_var_type_name(type_code)); OTL_STRCPY_S(var_info,var_info_sz,"Variable: "); OTL_STRCAT_S(var_info,var_info_sz,name); OTL_STRCAT_S(var_info,var_info_sz,"<"); OTL_STRCAT_S(var_info,var_info_sz,buf1); OTL_STRCAT_S(var_info,var_info_sz,">, datatype in operator <</>>: "); OTL_STRCAT_S(var_info,var_info_sz,buf2);}inline void otl_var_info_var2(const char* name, const int ftype, char* var_info,#if defined(_MSC_VER)#if (_MSC_VER >= 1400) // VC++ 8.0 or higher const size_t var_info_sz#else const size_t /*var_info_sz*/#endif#else const size_t /*var_info_sz*/#endif){char buf1[128]; OTL_STRCPY_S(buf1,sizeof(buf1),otl_var_type_name(ftype)); OTL_STRCPY_S(var_info,var_info_sz,"Variable: "); OTL_STRCPY_S(var_info,var_info_sz,name); OTL_STRCAT_S(var_info,var_info_sz,"<"); OTL_STRCAT_S(var_info,var_info_sz,buf1); OTL_STRCAT_S(var_info,var_info_sz,">");}inline void otl_var_info_var3(const char* name, const int ftype, const int type_code, char* var_info,#if defined(_MSC_VER)#if (_MSC_VER >= 1400) // VC++ 8.0 or higher const size_t var_info_sz#else const size_t /*var_info_sz*/#endif#else const size_t /*var_info_sz*/#endif){char buf1[128]; char buf2[128]; OTL_STRCPY_S(buf1,sizeof(buf1),otl_var_type_name(ftype)); OTL_STRCPY_S(buf2,sizeof(buf2),otl_var_type_name(type_code)); OTL_STRCPY_S(var_info,var_info_sz,"Variable: "); OTL_STRCAT_S(var_info,var_info_sz,name); OTL_STRCAT_S(var_info,var_info_sz,"<"); OTL_STRCAT_S(var_info,var_info_sz,buf1); OTL_STRCAT_S(var_info,              var_info_sz,              ">, datatype in otl_stream_read_iterator::get(): "); OTL_STRCAT_S(var_info,var_info_sz,buf2);}inline void otl_var_info_var4(const char* name, const int ftype, const int type_code, char* var_info,#if defined(_MSC_VER)#if (_MSC_VER >= 1400) // VC++ 8.0 or higher const size_t var_info_sz#else const size_t /*var_info_sz*/#endif#else const size_t /*var_info_sz*/#endif){char buf1[128]; char buf2[128]; OTL_STRCPY_S(buf1,sizeof(buf1),otl_var_type_name(ftype)); OTL_STRCPY_S(buf2,sizeof(buf2),otl_var_type_name(type_code)); OTL_STRCPY_S(var_info,var_info_sz,"Variable: "); OTL_STRCAT_S(var_info,var_info_sz,name); OTL_STRCAT_S(var_info,var_info_sz,"<"); OTL_STRCAT_S(var_info,var_info_sz,buf1); OTL_STRCAT_S(var_info,              var_info_sz,              ">, datatype in otl_stream_read_iterator::get(): "); OTL_STRCAT_S(var_info,var_info_sz,buf2);}inline void otl_strcpy(  unsigned char* trg,  unsigned char* src,  int& overflow,  const int inp_size=0,  const int actual_inp_size=-1){  OTL_CHAR* c1=OTL_RCAST(OTL_CHAR*,trg);  const OTL_CHAR* c2=OTL_RCAST(const OTL_CHAR*,src);  int out_size=0;  overflow=0;  if(actual_inp_size!=-1){    while(out_size<inp_size-1 && out_size<actual_inp_size){      *c1++=*c2++;      ++out_size;    }    *c1=0;    if(out_size==inp_size-1 && out_size<actual_inp_size)      overflow=1;  }else{    while(*c2 && out_size<inp_size-1){      *c1++=*c2++;      ++out_size;    }    *c1=0;    if(*c2 && out_size==inp_size-1)      overflow=1;  }}#if defined(OTL_UNICODE) || (defined(_MSC_VER) && (_MSC_VER >= 1400))inline void otl_strcpy (unsigned char* trg,  const unsigned char* src){ OTL_CHAR* c1=OTL_RCAST(OTL_CHAR*,trg); const OTL_CHAR* c2=OTL_RCAST(const OTL_CHAR*,src); while(*c2){  *c1++=*c2++; } *c1=0;}#elseinline void otl_strcpy(unsigned char* trg,const unsigned char* src){  strcpy(OTL_RCAST(char*,trg),OTL_RCAST(const char*,src));}#endifinline void otl_strcat(char* trg,const char* src){  while(*trg)++trg;  while(*src){    *trg=*src;    ++trg;    ++src;  }  *trg=0;}#if defined(OTL_UNICODE) && !defined(OTL_ODBC)inline void otl_strcpy2(  unsigned char* trg,  const unsigned char* src,  const int max_src_len){ OTL_CHAR* c1=OTL_RCAST(OTL_CHAR*,trg); const OTL_CHAR* c2=OTL_RCAST(const OTL_CHAR*,src); int src_len=OTL_SCAST(int,*OTL_SCAST(const unsigned short*,c2)); int len=0; ++c2; while(*c2&&len<max_src_len&&len<src_len){  *c1++=*c2++;  ++len; } *c1=0;#elseinline void otl_strcpy2(  unsigned char* trg,  const unsigned char* src,  const int /* max_src_len */){ otl_strcpy(trg,src);#endif}#if defined(OTL_UNICODE)inline void otl_memcpy(  unsigned char* trg,  unsigned char* src,  const int src_len,  const int ftype){  if(ftype==otl_var_raw_long||ftype==otl_var_raw){    memcpy(trg,

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲精品中文在线| 91浏览器入口在线观看| 日韩精品中文字幕一区| 青青草国产成人av片免费| 精品一区二区在线视频| 欧美一区二区三区免费| 久久国产精品区| 久久色视频免费观看| 久久精品国产久精国产爱| 国产99久久久国产精品 | 日本一区二区电影| 久久久www成人免费无遮挡大片| 在线观看av一区二区| 欧美日韩一区 二区 三区 久久精品| 成人午夜碰碰视频| 欧美自拍丝袜亚洲| 国产精品久久久久久久久图文区 | 欧美片在线播放| 欧美亚洲综合久久| 久久久青草青青国产亚洲免观| 国产偷国产偷亚洲高清人白洁| 91免费国产在线| 97久久久精品综合88久久| 成人午夜私人影院| 欧美一区二区视频在线观看2022| 在线观看国产一区二区| 一本一道波多野结衣一区二区| 色综合中文综合网| 偷拍与自拍一区| 精品一二三四区| 夜夜亚洲天天久久| 国产jizzjizz一区二区| 欧美网站大全在线观看| 欧美电影免费观看高清完整版在线观看 | 99riav一区二区三区| 福利一区福利二区| 在线视频你懂得一区| 日韩欧美亚洲国产精品字幕久久久| 欧美午夜精品理论片a级按摩| 91超碰这里只有精品国产| 中文字幕中文乱码欧美一区二区| 成人免费视频免费观看| 视频一区欧美精品| 国产欧美一区二区三区在线老狼| 欧美日韩激情在线| 不卡av免费在线观看| 日韩国产在线观看一区| 中文字幕一区二区三区色视频| 欧美精品在线观看一区二区| eeuss鲁片一区二区三区在线观看| 91精品国产乱| 国产精品一区二区久激情瑜伽| 日本国产一区二区| 宅男噜噜噜66一区二区66| 国产精品精品国产色婷婷| 久久精品国产久精国产爱| 26uuu精品一区二区在线观看| 久久国产精品99精品国产| 精品乱人伦一区二区三区| 国内成人免费视频| 亚洲女女做受ⅹxx高潮| 亚洲电影你懂得| 成人av电影免费观看| 国产午夜亚洲精品不卡| 一本大道综合伊人精品热热| 亚洲女女做受ⅹxx高潮| 日韩欧美国产综合一区| 夜夜精品浪潮av一区二区三区| 另类小说欧美激情| 欧美一区二区视频免费观看| 久久久99久久精品欧美| 国产69精品久久久久毛片| 久久久蜜桃精品| 在线一区二区视频| 久久成人18免费观看| 中文字幕一区av| 欧美一区二区三区人| 99精品久久只有精品| 蜜桃久久久久久久| 亚洲成在人线免费| 一区二区高清在线| 中文字幕在线观看一区| 国产日产欧美一区| www久久久久| 精品盗摄一区二区三区| 日韩欧美一二三| 久久久久久一二三区| 国产欧美中文在线| 亚洲欧美日韩国产另类专区| 亚洲日本欧美天堂| 亚洲一区二区三区四区的| 一区二区三区在线不卡| 午夜精品久久一牛影视| 蜜臀av亚洲一区中文字幕| 精品在线播放免费| 国产露脸91国语对白| 国产a精品视频| 一本一道综合狠狠老| 欧亚洲嫩模精品一区三区| 欧美夫妻性生活| 精品国产免费人成电影在线观看四季 | 99久久99久久免费精品蜜臀| 在线视频综合导航| 日韩欧美一级在线播放| 久久精品视频在线免费观看| 日韩一区欧美一区| 日日嗨av一区二区三区四区| 国产精品66部| 欧美艳星brazzers| 精品999久久久| 中文字幕一区二区三区在线播放| 亚洲激情中文1区| 日本亚洲天堂网| jlzzjlzz亚洲日本少妇| 日韩一级视频免费观看在线| 国产欧美精品一区| 亚洲h动漫在线| 成人av网址在线观看| 欧美一卡二卡三卡四卡| 亚洲一区二区三区激情| 亚洲久本草在线中文字幕| 天堂va蜜桃一区二区三区 | 国产精品久久久久天堂| 亚洲一区二区三区国产| 国产伦精品一区二区三区免费迷 | 亚洲欧洲av另类| 久久精品国产一区二区三区免费看| 成人aaaa免费全部观看| 51午夜精品国产| 亚洲视频一二三| 国产一区二区三区香蕉| 欧美另类变人与禽xxxxx| 国产精品久久久久桃色tv| 美国欧美日韩国产在线播放| 色综合视频在线观看| 精品久久国产字幕高潮| 香蕉久久夜色精品国产使用方法| 成人自拍视频在线观看| 日韩精品一区二区三区视频播放| 亚洲午夜视频在线| 精品理论电影在线观看| 国产精品乱人伦| 国产主播一区二区三区| 欧美在线啊v一区| 国产精品久久久久久亚洲伦| 久久99国内精品| 91精品麻豆日日躁夜夜躁| 亚洲综合清纯丝袜自拍| 91同城在线观看| 国产欧美日韩在线| 国产成人av一区| 26uuu另类欧美| 精品无人码麻豆乱码1区2区| 欧美精品一二三| 亚洲午夜在线视频| 91福利精品第一导航| 日韩美女啊v在线免费观看| 成人高清在线视频| 欧美国产日韩a欧美在线观看| 久热成人在线视频| 精品电影一区二区三区| 国产在线不卡一区| 久久久久久99精品| 丁香婷婷深情五月亚洲| 中文字幕精品一区| 豆国产96在线|亚洲| 日本一区二区三区dvd视频在线| 国产福利一区二区三区视频 | 日韩一区二区三区视频| 日韩福利电影在线| 国产精品91xxx| 九九久久精品视频| 91精品国产综合久久国产大片| 亚洲狠狠爱一区二区三区| 91成人免费在线视频| 一区二区三区在线视频观看| 在线观看日韩电影| 午夜不卡av免费| 精品国产1区二区| 国产高清久久久| 亚洲色图在线视频| 欧美精品九九99久久| 久久国产精品一区二区| 亚洲国产成人一区二区三区| 99久久久久久| 亚洲一级片在线观看| 91精品国产乱码久久蜜臀| 国产一区二区在线影院| 中文字幕在线一区二区三区| 色呦呦日韩精品| 免费久久精品视频| 国产欧美日本一区视频| 色综合色狠狠综合色| 日韩制服丝袜先锋影音| 久久久av毛片精品| 色噜噜狠狠成人中文综合 | 久久先锋影音av鲁色资源| 成人免费黄色在线| 亚洲成av人片一区二区三区| 欧美r级电影在线观看|