⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 chk_cseg.cpp

📁 一个不错
💻 CPP
📖 第 1 页 / 共 2 页
字号:
    WY_THROW( WyRet() );  }  if(ss.rfind(&fidx,200,WyCSeg("123"))==false) {    WY_THROW( WyRet() );  }  if(fidx!=8) {    WY_THROW( WyRet() );  }  if(ss.rfind(&fidx,7,WyCSeg("123"))==false) {    WY_THROW( WyRet() );  }  if(fidx!=5) {    WY_THROW( WyRet() );  }  if(ss.rfind(&fidx,ss.size(),WyCSeg("0\xff"))==false) {    WY_THROW( WyRet() );  }  if(fidx!=14) {    WY_THROW( WyRet() );  }  fidx=100;  if(ss.rfind(&fidx,ss.size()-2,WyCSeg("0\xff"))==false) {    WY_THROW( WyRet() );  }  if(fidx!=14) {    WY_THROW( WyRet() );  }  if(ss.rfind(NULL,0,WyCSeg("0\xff"))==true) {    WY_THROW( WyRet() );  }  fidx=100;  if(ss.rfind(&fidx,10,WyCSeg("\xff"))==false) {    WY_THROW( WyRet() );  }  if(fidx!=0) {    WY_THROW( WyRet() );  }  if(ss.rfind(&fidx,0,ss)==false) {    WY_THROW( WyRet() );  }  if(fidx!=0) {    WY_THROW( WyRet() );  }  if(ss.rfind(&fidx,1,ss.cseg(1))==false) {    WY_THROW( WyRet() );  }  if(fidx!=1) {    WY_THROW( WyRet() );  }  const WyCSeg ss2;  fidx=100;  if(ss2.rfind(&fidx,0,WyCSeg())==true) {    WY_THROW( WyRet() );  }  if(fidx!=100) {    WY_THROW( WyRet() );  } } // findc(size_t*,size_t,char) {  const WyCSeg ss("\xffx1111231237890\xff");  size_t fidx;  fidx=100;  if(ss.findc(&fidx,100,'1')==true) {    WY_THROW( WyRet() );  }  if(fidx!=100) {    WY_THROW( WyRet() );  }  if(ss.findc(&fidx,0,'1')==false) {    WY_THROW( WyRet() );  }  if(fidx!=2) {    WY_THROW( WyRet() );  }  if(ss.findc(&fidx,0,'A')==true) {    WY_THROW( WyRet() );  }  if(fidx!=2) {    WY_THROW( WyRet() );  }  if(ss.findc(&fidx,1,'\xff')==false) {    WY_THROW( WyRet() );  }  if(fidx!=ss.size()-1) {    WY_THROW( WyRet() );  } } // findc(size_t*,size_t,const WyCSeg&) {  const WyCSeg ss("\xffx1111231237890\xff");  size_t fidx;  fidx=100;  if(ss.findc(&fidx,0,WyCSeg("92"))==false) {    WY_THROW( WyRet() );  }  if(fidx!=6) {    WY_THROW( WyRet() );  }  if(ss.findc(&fidx,7,WyCSeg("92"))==false) {    WY_THROW( WyRet() );  }  if(fidx!=9) {    WY_THROW( WyRet() );  }  if(ss.findc(&fidx,0,WyCSeg("_+=-*"))==true) {    WY_THROW( WyRet() );  }  if(fidx!=9) {    WY_THROW( WyRet() );  }  if(ss.findc(&fidx,1,WyCSeg("_+=-*\xff"))==false) {    WY_THROW( WyRet() );  }  if(fidx!=ss.size()-1) {    WY_THROW( WyRet() );  }  fidx=100;  if(ss.findc(&fidx,ss.size(),ss)==true) {    WY_THROW( WyRet() );  }  if(fidx!=100) {    WY_THROW( WyRet() );  } } // findc_not(size_t*,size_t,char) {  const WyCSeg ss("\xffx1111231237890\xff");  size_t fidx;  fidx=100;  if(ss.findc_not(&fidx,100,'1')==true) {    WY_THROW( WyRet() );  }  if(fidx!=100) {    WY_THROW( WyRet() );  }  if(ss.findc_not(&fidx,2,'1')==false) {    WY_THROW( WyRet() );  }  if(fidx!=6) {    WY_THROW( WyRet() );  } } // findc_not(size_t*,size_t,const WyCSeg&) {  const WyCSeg ss("\xffx1111231237890\xff");  size_t fidx;  fidx=100;  if(ss.findc_not(&fidx,1,WyCSeg())==false) {    WY_THROW( WyRet() );  }  if(fidx!=1) {    WY_THROW( WyRet() );  }  if(ss.findc_not(&fidx,0,ss)==true) {    WY_THROW( WyRet() );  }  if(fidx!=1) {    WY_THROW( WyRet() );  }  if(ss.findc_not(&fidx,0,WyCSeg("92"))==false) {    WY_THROW( WyRet() );  }  if(fidx!=0) {    WY_THROW( WyRet() );  }  if(ss.findc_not(&fidx,0,WyCSeg("19x2\xff"))==false) {    WY_THROW( WyRet() );  }  if(fidx!=7) {    WY_THROW( WyRet() );  }  if(ss.findc_not(&fidx,8,WyCSeg("19x2\xff"))==false) {    WY_THROW( WyRet() );  }  if(fidx!=10) {    WY_THROW( WyRet() );  } } // rfindc(size_t*,size_t,char) {  const WyCSeg ss("\xffx1111231237890\xff");  size_t fidx;  fidx=100;  if(ss.rfindc(&fidx,100,'x')==false) {    WY_THROW( WyRet() );  }  if(fidx!=1) {    WY_THROW( WyRet() );  }  if(ss.rfindc(&fidx,10,'z')==true) {    WY_THROW( WyRet() );  }  if(fidx!=1) {    WY_THROW( WyRet() );  }  if(ss.rfindc(&fidx,10,'1')==false) {    WY_THROW( WyRet() );  }  if(fidx!=8) {    WY_THROW( WyRet() );  }  if(WyCSeg().rfindc(NULL,0,'a')==true) {    WY_THROW( WyRet() );  } } // rfindc(size_t*,size_t,const WyCSeg&) {  const WyCSeg ss("\xffx1111231237890\xff");  size_t fidx;  fidx=100;  if(WyCSeg().rfindc(NULL,100,ss)==true) {    WY_THROW( WyRet() );  }  if(ss.rfindc(&fidx,100,WyCSeg("321"))==false) {    WY_THROW( WyRet() );  }  if(fidx!=10) {    WY_THROW( WyRet() );  }  if(ss.rfindc(&fidx,9,WyCSeg("321"))==false) {    WY_THROW( WyRet() );  }  if(fidx!=9) {    WY_THROW( WyRet() );  }  if(ss.rfindc(&fidx,9,WyCSeg("abc\xff"))==false) {    WY_THROW( WyRet() );  }  if(fidx!=0) {    WY_THROW( WyRet() );  }  if(ss.rfindc(&fidx,9,WyCSeg())==true) {    WY_THROW( WyRet() );  }  if(fidx!=0) {    WY_THROW( WyRet() );  }  if(ss.rfindc(&fidx,9,WyCSeg("_+-)("))==true) {    WY_THROW( WyRet() );  }  if(fidx!=0) {    WY_THROW( WyRet() );  } } // rfindc_not(size_t*,size_t,char) {  const WyCSeg ss("\xffx1111231237890\xff");  size_t fidx;  fidx=100;  if(ss.rfindc_not(&fidx,100,'x')==false) {    WY_THROW( WyRet() );  }  if(fidx!=ss.size()-1) {    WY_THROW( WyRet() );  }  if(WyCSeg().rfindc_not(&fidx,100,'x')==true) {    WY_THROW( WyRet() );  }  if(fidx!=ss.size()-1) {    WY_THROW( WyRet() );  }  if(ss.rfindc_not(&fidx,100,'\xff')==false) {    WY_THROW( WyRet() );  }  if(fidx!=ss.size()-2) {    WY_THROW( WyRet() );  }  if(ss.rfindc_not(&fidx,5,'1')==false) {    WY_THROW( WyRet() );  }  if(fidx!=1) {    WY_THROW( WyRet() );  } } // rfindc(size_t*,size_t,const WyCSeg&) {  const WyCSeg ss("\xffx1111231237890\xff");  size_t fidx;  fidx=100;  if(WyCSeg().rfindc_not(NULL,100,ss)==true) {    WY_THROW( WyRet() );  }   if(ss.rfindc_not(&fidx,100,WyCSeg("03\xff"))==false) {    WY_THROW( WyRet() );  }  if(fidx!=13) {    WY_THROW( WyRet() );  }  if(ss.rfindc_not(&fidx,13,WyCSeg("789123"))==false) {    WY_THROW( WyRet() );  }  if(fidx!=1) {    WY_THROW( WyRet() );  }  if(ss.rfindc_not(&fidx,1,WyCSeg("x\xff"))==true) {    WY_THROW( WyRet() );  }  if(fidx!=1) {    WY_THROW( WyRet() );  } }};static void ck_cseg_error(void){  WyRet r;  // WyCseg(const char*)  try {    WyCSeg s1((const char*)0);    s1.size();    WY_THROW( WyRet() );  }  catch(const WyCSeg::Reply& e) {    if(e!=Wym_EFAULT) {      throw;    }    // FALL_THROUGH  };  // WyCseg(const char*,size_t)  try {    WyCSeg s1((const char*)0,1);    s1.size();    WY_THROW( WyRet() );  }  catch(const WyCSeg::Reply& e) {    if(e!=Wym_EFAULT) {      throw;    }    // FALL_THROUGH  };  // reset  {   WyCSeg s1("");   if(s1.size()!=0) {     WY_THROW( WyRet() );   }   if((r=s1.reset((const char*)0))!=Wym_EFAULT) {     WY_THROW(r);   }   if((r=s1.reset((const char*)0,size_t(1)))!=Wym_EFAULT) {     WY_THROW(r);   }   if((r=s1.reset((const char*)"",(size_t)0))!=Ok) {     WY_THROW(r);   }   if(s1.is_default()==false) {     WY_THROW( WyRet() );   }   WyCSeg s2("",size_t(0));   if(s2.is_default()==false) {     WY_THROW( WyRet() );   }  }  // reset(const char*)  {    WyCSeg s1("");    if((r=s1.reset((const char*)0))!=Wym_EFAULT) {      WY_THROW(r);    }  }  // chk cseg(size_t,size_t)  try {    WyCSeg s1("rrr");    s1.cseg(4,1).size();    WY_THROW( WyRet() );  }  catch(const WyCSeg::Reply& e) {    if(e!=Wym_EINVAL) {      throw;    }    // FALL_THROUGH  };  // chk cseg(size_t)  try {    WyCSeg s1("rrr");    s1.cseg(4).size();    WY_THROW( WyRet() );  }  catch(const WyCSeg::Reply& e) {    if(e!=Wym_EINVAL) {      throw;    }    // FALL_THROUGH  };};static void ck_cseg_aux(void){  // chk strcmp  {   WyCSeg s1("helo"), s2("heloX"),s3(s1);  CHK_EQU(s1,s3);   if(Wy::_strcmp(s1,s3)!=0) {     WY_THROW( WyRet() );   }   if(Wy::_strcmp(s1,s1)!=0) {     WY_THROW( WyRet() );   }   if(Wy::_strcmp(s1,s2)>=0) {     WY_THROW( WyRet() );   }   if(Wy::_strcmp(s2,s1)<=0) {     WY_THROW( WyRet() );   }   if(Wy::_strcmp(s1.begin(),s3.begin())!=0) {     WY_THROW( WyRet() );   }   if(Wy::_strcmp(s1.begin(),s1.begin())!=0) {     WY_THROW( WyRet() );   }   if(Wy::_strcmp(s1.begin(),s2.begin())>=0) {     WY_THROW( WyRet() );   }   if(Wy::_strcmp(s2.begin(),s1.begin())<=0) {     WY_THROW( WyRet() );   }   {     try {       WyCSeg s1("");       Wy::_strcmp(s1,(const char*)0);       WY_THROW( WyRet() );     }     catch(const WyCSeg::Reply& e) {       if(e!=Wym_EFAULT) {         WY_THROW( WyRet(e) );       }       // FALL_THROUGH     };   }   {     try {       WyCSeg s1("");       Wy::_strcmp((const char*)0,s1);       WY_THROW( WyRet() );     }     catch(const WyCSeg::Reply& e) {       if(e!=Wym_EFAULT) {         WY_THROW( WyRet(e) );       }       // FALL_THROUGH     };   }  }  // chk _strcpy  {   WyCSeg s1("helo");   char buf[6]={0,0,0,0,0,0};   Wy::_strcpy(buf+1,s1);   if(std::memcmp(buf+1,s1.begin(),s1.size())!=0) {     WY_THROW( WyRet() );   }   if((buf[0]!=0)||(buf[sizeof(buf)-1]!=0)) {     WY_THROW( WyRet() );   }  }  // chk _strmove  {   char buf[]="0123456789aaabbb";   Wy::_strmove(buf+1,buf+3,6);   if(std::memcmp(buf,"0345678789aaabbb",16)!=0) {     WY_THROW( WyRet() );   }   char buf2[]="0123456789aaabbb";   Wy::_strmove(buf2+4,buf2,6);   if(std::memcmp(buf2,"0123012345aaabbb",16)!=0) {     WY_THROW( WyRet() );   }  }  // chk _strchr  {   WyCSeg s("aacddfgg");   const char *p;   p=Wy::_strchr(s,'a');   if(p==NULL) {     WY_THROW( WyRet() );   }   if(*p!='a') {     WY_THROW( WyRet() );   }   if(p!=&s[0]) {     WY_THROW( WyRet() );   }   p=Wy::_strchr(s,'d');   if(p==NULL) {     WY_THROW( WyRet() );   }   if(p!=&s[3]) {     WY_THROW( WyRet() );   }   if(*p!='d') {     WY_THROW( WyRet() );   }   p=Wy::_strchr(s,'g');   if(p==NULL) {     WY_THROW( WyRet() );   }   if(p!=&s[6]) {     WY_THROW( WyRet() );   }   if(*p!='g') {     WY_THROW( WyRet() );   }   p=Wy::_strchr(s,'x');   if(p!=NULL) {     WY_THROW( WyRet() );   }   p=Wy::_strchr(WyCSeg(),'x');   if(p!=NULL) {     WY_THROW( WyRet() );   }  }  // chk _strrchr  {   WyCSeg s("aacddfgg");   const char *p;   p=Wy::_strrchr(s,'a');   if(p==NULL) {     WY_THROW( WyRet() );   }   if(*p!='a') {     WY_THROW( WyRet() );   }   if(p!=&s[1]) {     WY_THROW( WyRet() );   }   p=Wy::_strrchr(s,'d');   if(p==NULL) {     WY_THROW( WyRet() );   }   if(p!=&s[4]) {     WY_THROW( WyRet() );   }   if(*p!='d') {     WY_THROW( WyRet() );   }   p=Wy::_strrchr(s,'g');   if(p==NULL) {     WY_THROW( WyRet() );   }   if(p!=&s[7]) {     WY_THROW( WyRet() );   }   if(*p!='g') {     WY_THROW( WyRet() );   }   p=Wy::_strrchr(s,'x');   if(p!=NULL) {     WY_THROW( WyRet() );   }   p=Wy::_strrchr(WyCSeg(),'x');   if(p!=NULL) {     WY_THROW( WyRet() );   }  }  // chk _strstr  {   WyCSeg s("rrstrstt");   const char *p;      p=Wy::_strstr(s,"rst");   if(p==NULL) {     WY_THROW( WyRet() );   }   if(p!=&s[1]) {     WY_THROW( WyRet() );   }   p=Wy::_strstr(s,"rstt");   if(p==NULL) {     WY_THROW( WyRet() );   }   if(p!=&s[4]) {     WY_THROW( WyRet() );   }   p=Wy::_strstr(s,"");   if(p==NULL) {     WY_THROW( WyRet() );   }   if(p!=&s[0]) {     WY_THROW( WyRet() );   // feature probably   }   p=Wy::_strstr(s,"rss");   if(p!=NULL) {     WY_THROW( WyRet() );   }   p=Wy::_strstr(WyCSeg(),"rss");   if(p!=NULL) {     WY_THROW( WyRet() );   }  }};static const WyStr chdr(                  "+---------------+\n"                  "| main() caught:|\n"                  "+---------------+\n");int main(void) throw()try { std::cout << "Checking wycseg.h ...\n"; ck_cseg(); ck_cseg_aux(); ck_cseg_error(); ck_cseg_find(); std::cout << "Checked Ok\n"; return(0);}catch(const WyRet& e) { std::cerr << chdr.c_str() << Wy::wrd(e).c_str() << std::endl; return(-1);}catch(const std::exception& e) { std::cerr << chdr.c_str() << "std::exception" << std::endl; return(-1);}catch(...) { std::cerr << chdr.c_str() << "unknown unwind" << std::endl; return(-1);};

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -