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

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

?? string_imp.cpp

?? UC Library Extensions UnderC comes with a pocket implementation of the standard C++ libraries, wh
?? CPP
字號(hào):
// UnderC Development Project, 2001
// A simplified standard string class
#include "string_imp.h"
#include <string.h>

void string::resize(size_type sz)
{
  if(m_len > sz) {
   m_len = sz;
   return;  // buffer is quite big enough....
  }	  
  char *tmp = new char[sz+1];
  //printf("alloc %x\n",tmp);
  if (m_str) {
    strcpy(tmp,m_str);
    //delete m_str;
  }
  m_str = tmp;
  m_len = sz;
 }

 void string::append(char *s)
 {
  resize(m_len + strlen(s));
  strcat(m_str,s);
 }

 void string::push_back(char ch)
 {
  char st[2];
  st[0] = ch; st[1] = '\0';
  append(st);
 }

 void string::copy(char *str)
 {	
   resize(strlen(str));
   strcpy(m_str,str);
 }

// *fix 1.2.9 allowing NULL to be passed is necessary for our
// map container to work (see map() in <map>)
 string::string(const char *str)
 {
  char *ls = (char *)str;
  if (!ls) ls = "";  // UCW bugge...
  m_len = 0;
  m_str = NULL;
  copy(ls);
 }
 
 string::string(const char *str, int sz)
 {
   resize(sz);
   strcpy(m_str,str); 
 }

 string::string()
 {
  m_len = 0;
  m_str = NULL;
  copy("");
 }

 string::string(size_type sz, char ch)
 {
   resize(sz);
   for(size_type i = 0; i < sz; i++) m_str[i] = ch;
   m_str[sz] = '\0';
 }  

 string::string(const string& s)
 {
  m_str = NULL;
  m_len = 0;
  char *ptr = s.m_str;
  //printf("copy %s\n",ptr);
  copy(s.m_str);
 }

 string& string::operator= (const string& s)
 {
  copy(s.m_str);  return *this;
 }

 string& string::operator= (char *str)
 {
   copy(str);
   return *this;
 }
 
 string& string::operator+= (char *str)
 {
   append(str);  return *this;
 }

 string& string::operator+= (const string& s)
 {
   append(s.c_str());  return *this;
 }

 string& string::operator+= (char ch)
 {
   push_back(ch);
   return *this;
 }

string:: ~string()
 {
   delete m_str; 
   m_str = NULL;
 }

 string::size_type string::find(char *str) const
 {
   char *ss = strstr(m_str,str);
   if (ss) return (size_type)(ss) - (size_type)(m_str);
      else return npos;
 }

 string::size_type string::find(const string& s) const
 {
   return find(s.m_str);
 }

 string::size_type string::find(char ch) const
 { 
  char str[2]; // init didn't work?
  str[0] = ch;
  str[1] = '\0';
  return find(str);
 }

string::size_type string::rfind(char ch) const
 {
  char *ss = strrchr(m_str,ch);
  if (ss) return (size_type)(ss) - (size_type)(m_str);
      else return npos;
 }

 string::size_type string::bound(size_type n) const
 {
 // *hack 0.9.5 necessary while we have trouble w/ unsigned integers
  if (n > m_len || n == npos) n = m_len;
  return n;
 }

 string string::substr(size_type start, size_type n) const
 {
  string ts;
  n = bound(n);
  ts.resize(n);
  char *s1 = ts.m_str;
  char *s2 = m_str+start;
  for(size_type i = 0; i < n; i++) {
      *s1++ = *s2++;
  }
  *s1 = '\0'; 
 // strncpy(s1,s2,n);
  return ts;
 }

 string& string::replace(size_type is, size_type n, char *repl)
 {
  n = bound(n);
  size_type rsz = strlen(repl);
  size_type nextra = rsz - n;
  size_type oldsz = m_len;
  if (nextra != 0) {
    resize(m_len+nextra);
    char *pend = m_str + is + n; // just past target
    memmove(pend+nextra,pend,oldsz-is-n);
    m_str[m_len] = '\0';
  }
  memmove(m_str+is,repl,rsz);
  return *this;
 }

 string& string::replace(size_type is, size_type n, const string& repl)
 {
   return replace(is,n,repl.m_str);
 }
 
 void string::insert(size_type idx, const string& repl)
 {
   replace(idx,0,repl); 
 }

 char& string::operator[] (size_type i)
 {
   return m_str[i];
 }
 
 char string::operator[] (size_type i) const
 {
   return m_str[i];
 }

 int string::compare(const string& s) const
 {
   return strcmp(m_str, s.m_str); 
 }

 int string::compare(const char *s) const
 {
   return strcmp(m_str, s); 
 }

// *hack 0.9.7 used to be non-member, but that won't work for now!
 bool string::operator== (const string& s2) const
 {
  return compare(s2) == 0;
 }

 bool string::operator== (const char* c1) const
 {
   return compare(c1) == 0;
 }

 EXPORT bool operator != (const string& s1, const string& s2)
 {
  return s1.compare(s2) != 0;
}

 EXPORT bool operator != (const string& s1, const char* c1)
 {
  return s1.compare(c1) != 0;
}

EXPORT  bool operator> (const string& s1, const string& s2)
 {
  return s1.compare(s2) > 0;
 }

EXPORT  bool operator< (const string& s1, const string& s2)
 {
  return s1.compare(s2) < 0;
 }

EXPORT  string operator+ (const string& s1, const string& s2)
 {
   string out = s1;
   out.append(s2.c_str());
   return out;
 }

EXPORT string operator+ (const string& s1, char *str2)
 {
   string out = s1;
   out.append(str2);
   return out;
 }




 

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久精品亚洲乱码伦伦中文 | 中文字幕在线不卡一区| 91理论电影在线观看| 麻豆高清免费国产一区| 亚洲男女毛片无遮挡| 久久久久久久久久美女| 欧美日韩电影在线| www.欧美日韩| 国产精一区二区三区| 亚洲成国产人片在线观看| 国产精品女主播av| 欧美不卡视频一区| 欧美日韩国产片| 色婷婷av久久久久久久| 欧美成人三级电影在线| 在线亚洲高清视频| 91视频观看免费| 成人一二三区视频| 国产高清在线精品| 麻豆久久久久久| 日本视频免费一区| 亚洲国产美女搞黄色| 亚洲男人都懂的| 国产精品系列在线| 国产午夜亚洲精品羞羞网站| 欧美xxxx在线观看| 91精品综合久久久久久| 欧美精品1区2区3区| 欧美日韩亚洲综合一区二区三区 | 日韩欧美一区二区免费| 精品视频色一区| 欧美私人免费视频| 在线观看av不卡| 欧美在线综合视频| 在线观看日韩电影| 欧美亚洲日本国产| 欧美吻胸吃奶大尺度电影| 在线观看日产精品| 欧美婷婷六月丁香综合色| 色婷婷av一区二区三区软件| 色婷婷久久综合| 在线观看三级视频欧美| 国产精品国产a| 日本一区二区三级电影在线观看 | 欧美区一区二区三区| 欧美三级乱人伦电影| 欧美日韩一区二区在线视频| 欧美日韩aaaaa| 91麻豆精品国产91| 精品国产三级a在线观看| 精品三级av在线| 久久免费国产精品 | 性欧美疯狂xxxxbbbb| 亚洲成人黄色小说| 日本午夜一区二区| 久久国产精品无码网站| 国产一区二区三区免费观看| 国产成人啪午夜精品网站男同| 成人精品免费网站| 一本色道久久综合亚洲91| 欧美性做爰猛烈叫床潮| 欧美年轻男男videosbes| 日韩视频免费直播| 国产日本亚洲高清| 亚洲欧美在线视频观看| 亚洲电影中文字幕在线观看| 美国欧美日韩国产在线播放| 国产成人亚洲综合a∨婷婷图片| 99久久er热在这里只有精品15 | 日韩电影免费在线看| 国产中文字幕精品| 91一区二区在线| 欧美日韩免费在线视频| 久久久噜噜噜久噜久久综合| 亚洲欧洲无码一区二区三区| 亚洲1区2区3区4区| 韩国女主播一区| 色噜噜久久综合| 欧美一区二区精品在线| 中文字幕精品在线不卡| 亚洲va韩国va欧美va精品 | 成人免费视频视频在线观看免费| 一本大道av一区二区在线播放| 337p亚洲精品色噜噜噜| 国产三级欧美三级日产三级99| 一区二区三区四区视频精品免费 | 欧美一区二区三区在线观看视频 | 亚洲黄色在线视频| 精品一区二区精品| 在线观看三级视频欧美| 国产日韩影视精品| 色欧美片视频在线观看| 日韩女优视频免费观看| 一区二区三区精品视频| 国产一区二区h| 在线成人午夜影院| 18欧美亚洲精品| 国产老妇另类xxxxx| 欧美日韩精品三区| 日韩一区在线看| 国产乱子轮精品视频| 欧美日韩日本视频| 亚洲女人的天堂| 国产精品一卡二| 欧美一区午夜视频在线观看| 亚洲欧美激情一区二区| 国产成人精品在线看| 日韩欧美激情四射| 亚洲五码中文字幕| 91丨九色丨尤物| 国产三区在线成人av| 久久国产生活片100| 欧美另类高清zo欧美| 一区二区三区高清在线| 成人福利在线看| 久久久精品日韩欧美| 另类小说综合欧美亚洲| 欧美精品粉嫩高潮一区二区| 亚洲精品视频自拍| 不卡在线观看av| 中文字幕第一区综合| 激情五月婷婷综合网| 欧美一区二区观看视频| 亚洲chinese男男1069| 在线精品视频一区二区三四| 中文字幕日韩一区| 精品福利一二区| 激情偷乱视频一区二区三区| 日韩一区二区三区av| 日韩电影一二三区| 91精品国产综合久久久久久久久久 | 国产日韩影视精品| 国产毛片精品国产一区二区三区| 精品国产乱码久久久久久牛牛| 久久国产精品一区二区| 精品理论电影在线| 国产一区视频网站| 久久精品夜夜夜夜久久| 成人一级视频在线观看| 国产精品国产三级国产a| 成人高清av在线| 亚洲伦在线观看| 欧美亚洲高清一区二区三区不卡| 亚洲午夜一区二区| 欧美日韩国产小视频在线观看| 日韩二区三区四区| 欧美久久久久久久久久| 日本不卡1234视频| 欧美videossexotv100| 国产麻豆成人传媒免费观看| 亚洲国产精品t66y| 91麻豆精品一区二区三区| 亚洲国产精品欧美一二99| 欧美精品xxxxbbbb| 另类综合日韩欧美亚洲| 国产日韩影视精品| 色综合欧美在线视频区| 亚洲国产精品久久久久婷婷884| 777午夜精品视频在线播放| 麻豆国产欧美日韩综合精品二区 | 欧美日韩aaa| 久久精品免费看| 国产欧美视频一区二区三区| 成人爱爱电影网址| 亚洲已满18点击进入久久| 欧美一区二区三区婷婷月色| 国产乱子伦视频一区二区三区 | 午夜视频一区在线观看| 日韩欧美一区在线观看| 成人性色生活片免费看爆迷你毛片| 亚洲免费三区一区二区| 555www色欧美视频| 国产成人啪免费观看软件| 一区二区三区在线视频免费观看| 欧美一级理论性理论a| 成人午夜激情在线| 视频一区欧美精品| 国产精品久久久久久久久免费桃花| 欧美亚男人的天堂| 国产一区二区91| 亚洲成av人片一区二区三区| 久久久不卡网国产精品二区 | 久久精品视频免费观看| 91福利精品第一导航| 免费欧美高清视频| 亚洲日本乱码在线观看| 欧美日韩一区久久| 成人美女在线观看| 男人操女人的视频在线观看欧美 | 欧美高清一级片在线观看| 欧美日精品一区视频| 国产999精品久久久久久绿帽| 午夜av一区二区三区| 中文字幕国产一区二区| 日韩一级视频免费观看在线| 91传媒视频在线播放| 国产精品一区二区黑丝 | 91免费观看国产| 国产麻豆视频一区二区| 午夜精品福利在线|