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

📄 ck_regfile.cpp

📁 一个不错
💻 CPP
📖 第 1 页 / 共 3 页
字号:
   }   if(stt.is_reg()==false) {     WY_THROW( WyRet() );   }   if(stt.sf_size()!=1) {     WY_THROW( WyRet() );   } } // chk TFile2A // if(TFile2A.pos()!=0) {   WY_THROW( WyRet() ); } if(TFile2A.fh().is_default()) {   WY_THROW( WyRet() ); } // stat TFile2A {   WyFileStat stt;   if((r=TFile2A.stat(stt))!=Ok) {     WY_THROW(r);   }   if(stt.is_default()) {     WY_THROW( WyRet() );   }   if(stt.is_reg()==false) {     WY_THROW( WyRet() );   }   if(stt.sf_size()!=2) {     WY_THROW( WyRet() );   } } // WyRegFile(const WyRegFile&) {   WyRegFile tmp1(TFile1A);   CHK_NOT_DEFAULT(tmp1);   if(tmp1.fh()==TFile1A.fh()) {     WY_THROW( WyRet() );   }   if(tmp1.pos()!=TFile1A.pos()) {     WY_THROW( WyRet() );   }   tmp1.set_pos(5);   WyRegFile tmp2(tmp1);   CHK_NOT_DEFAULT(tmp2);   if(tmp2.fh()==tmp1.fh()) {     WY_THROW( WyRet() );   }   if(tmp2.pos()!=tmp1.pos()) {     WY_THROW( WyRet() );   } } // reset() {   WyRegFile tmp(EmptyFile);   CHK_NOT_DEFAULT(tmp);   if((r=tmp.reset())!=Ok) {     WY_THROW(r);   }   CHK_DEFAULT(tmp); } // read(void*,..) read(char&) {   WyRegFile tmp(TFile1A);   char buf[2]={-1,-1};   size_t n_rd=5;   // anything >1   CHK_NOT_DEFAULT(tmp);   if((r=tmp.read(buf,size_t(0),n_rd))!=Ok) {     WY_THROW(r);   }   if(n_rd!=0) {     WY_THROW( WyRet() );   }   n_rd=99;   if((r=tmp.read(buf,sizeof(buf),n_rd))!=Ok) {     WY_THROW(r);   }   if(n_rd!=1) {     WY_THROW( WyRet() );   }   if(buf[0]!='\n') {     WY_THROW( WyRet() );   }   if(buf[1]!=char(-1)) {     WY_THROW( WyRet() );   }   if(tmp.pos()!=1) {     WY_THROW( WyRet() );   }   // eof   if((r=tmp.read(buf,sizeof(buf),n_rd))!=Ok) {     WY_THROW(r);   }   if(n_rd!=0) {     WY_THROW( WyRet() );   }   if(buf[0]!='\n') {     WY_THROW( WyRet() );   }   if(buf[1]!=char(-1)) {     WY_THROW( WyRet() );   }   if(tmp.pos()!=1) {     WY_THROW( WyRet() );   }   if((r=tmp.reset())!=Ok) {     WY_THROW(r);   }   if((r=tmp.reset(TFile1A))!=Ok) {     WY_THROW(r);   }   // chk reset default pos   {     WyRegFile tmp2(tmp);     CHK_SAME_SYSF(tmp,tmp2);     if((r=tmp2.reset())!=Ok) {       WY_THROW(r);     }     CHK_DEFAULT(tmp2);     if((r=tmp2.reset(tmp))!=Ok) {       WY_THROW(r);     }     CHK_SAME_SYSF(tmp,tmp2);     if((r=tmp2.reset(WyFileHandle()))!=Ok) {       WY_THROW(r);     }     CHK_DEFAULT(tmp2);     if((r=tmp2.reset(tmp))!=Ok) {       WY_THROW(r);     }     CHK_SAME_SYSF(tmp,tmp2);     if((r=tmp2.reset(WyRegFile()))!=Ok) {       WY_THROW(r);     }     CHK_DEFAULT(tmp2);     if((r=tmp2.reset(tmp))!=Ok) {       WY_THROW(r);     }     CHK_SAME_SYSF(tmp,tmp2);     if((r=tmp2.reset(WyByteFlow()))!=Ok) {       WY_THROW(r);     }     CHK_DEFAULT(tmp2);   } } // read WyStr {   WyRegFile tmp(TFile1A);   WyStr buf;   size_t n_rd=5;   // anything >1   CHK_NOT_DEFAULT(tmp);   if((r=tmp.read(buf,size_t(0),n_rd))!=Ok) {     WY_THROW(r);   }   if(n_rd!=0) {     WY_THROW( WyRet() );   }   n_rd=5;    // pre-set to invalid   if((r=tmp.read(buf,size_t(5),n_rd))!=Ok) {     WY_THROW(r);   }   if(n_rd!=1) {     WY_THROW( WyRet() );   }   if(buf.size()!=1) {     WY_THROW( WyRet() );   }   if(buf[0]!='\n') {     WY_THROW( WyRet() );   }   if(tmp.pos()!=1) {     WY_THROW( WyRet() );   }   // eof   if((r=tmp.read(buf,size_t(5),n_rd))!=Ok) {     WY_THROW(r);   }   if(n_rd!=0) {     WY_THROW( WyRet() );   }   if(buf.size()!=1) {     WY_THROW( WyRet() );   }   if(buf[0]!='\n') {     WY_THROW( WyRet() );   }   if(tmp.pos()!=1) {     WY_THROW( WyRet() );   }   // read again from the begin   tmp.set_pos(0);   if((r=tmp.read(buf,size_t(5),n_rd))!=Ok) {     WY_THROW(r);   }   if(n_rd!=1) {     WY_THROW( WyRet() );   }   if(buf.size()!=2) {     WY_THROW( WyRet() );   }   if(buf[0]!='\n') {     WY_THROW( WyRet() );   }   if(buf[1]!='\n') {     WY_THROW( WyRet() );   }   if(tmp.pos()!=1) {     WY_THROW( WyRet() );   } } // _read_till {   WyRegFile tmp2(TFile2A);   char buf[2]={-1,-1};   size_t n_rd=5;   // anything >1   CHK_NOT_DEFAULT(tmp2);   buf[0]=99;   buf[1]=99;   n_rd=5;   if((r=tmp2._read_till(buf,sizeof(buf),n_rd,'\n'))!=Ok) {     WY_THROW(r);   }   if(n_rd!=1) {     WY_THROW( WyRet() );   }   if(tmp2.pos()!=1) {     WY_THROW( WyRet() );   }   if(buf[0]!='\n') {     WY_THROW( WyRet() );   }   buf[0]=99;   n_rd=5;   if((r=tmp2._read_till(buf,sizeof(buf),n_rd,char(99)))!=Ok) {     WY_THROW(r);   }   if(n_rd!=1) {     WY_THROW( WyRet() );   }   if(tmp2.pos()!=2) {     WY_THROW( WyRet() );   }   if(buf[0]!='\n') {     WY_THROW( WyRet() );   }   tmp2.set_pos(0); } // _read_till(WyStr) {   WyRegFile tmp(TFile1A);   WyStr buf;   size_t n_rd=5;   // anything >1   WyRegFile tmp2(TFile2A);   CHK_NOT_DEFAULT(tmp2);   buf.reset();   n_rd=9;   if((r=tmp2._read_till(buf,0,n_rd,'\n'))!=Ok) {     WY_THROW(r);   }   if(n_rd!=0) {     WY_THROW( WyRet() );   }   n_rd=9;   if((r=tmp2._read_till(buf,10,n_rd,'\n'))!=Ok) {     WY_THROW(r);   }   if(n_rd!=1) {     WY_THROW( WyRet() );   }   if(tmp2.pos()!=1) {     WY_THROW( WyRet() );   }   if(buf.size()!=1) {     WY_THROW( WyRet() );   }   if(buf[0]!='\n') {     WY_THROW( WyRet() );   }   n_rd=9;   if((r=tmp2._read_till(buf,10,n_rd,char(99)))!=Ok) {     WY_THROW(r);   }   if(n_rd!=1) {     WY_THROW( WyRet() );   }   if(tmp2.pos()!=2) {     WY_THROW( WyRet() );   }   if(buf.size()!=2) {     WY_THROW( WyRet() );   }   if(buf!="\n\n") {     WY_THROW( WyRet() );   } } // write {   WyRegFile tmp;   WyStr tnam(Tmp_Name);   const char buf[2]={-1,-1};   size_t n_wr=5;   // anything not zero   CHK_DEFAULT(tmp);   if((r=WyRegFile::create(tmp,tnam,O_WRONLY,0))!=Ok) {     WY_THROW(r);   }   Wy_AtDestroy<WyRet,const WyStr&> rrid(Wy::unlink,tnam);   CHK_NOT_DEFAULT(tmp);   if((r=tmp.write(buf,sizeof(buf),n_wr))!=Ok) {     WY_THROW(r);   }   if(n_wr!=sizeof(buf)) {     WY_THROW( WyRet() );   }   if(tmp.pos()!=sizeof(buf)) {     WY_THROW( WyRet() );   }   if((tmp.fdatasync())!=Ok) {     WY_THROW( WyRet() );   }   if((tmp.fsync())!=Ok) {     WY_THROW( WyRet() );   }   if((r=tmp.write(WyStr("x"),n_wr))!=Ok) {     WY_THROW(r);   }   if(n_wr!=1) {     WY_THROW( WyRet() );   }   if(tmp.pos()!=sizeof(buf)+1) {     WY_THROW( WyRet() );   }   if((tmp.fdatasync())!=Ok) {     WY_THROW( WyRet() );   }   CHK_NOT_DEFAULT(tmp);   tmp.set_pos(1);   if(tmp.pos()!=1) {     WY_THROW( WyRet() );   } } // seek_end {   WyRegFile tmp(TFile1A);   CHK_NOT_DEFAULT(tmp);   if((r=tmp.seek_end())!=Ok) {     WY_THROW(r);   }   if(tmp.pos()!=1) {     WY_THROW( WyRet() );   }   if(TFile1A.pos()!=0) {     WY_THROW( WyRet() ); // should not be modified   }   if((r=tmp.reset())!=Ok) {     WY_THROW(r);   }   CHK_DEFAULT(tmp); } // _read_till(1), TFile1A {   WyRegFile tmp(TFile1A);   char buf[2]={-1,-1};   size_t n_rd=5;   // anything not zero   CHK_NOT_DEFAULT(tmp);   if((r=tmp._read_till(buf,sizeof(buf),n_rd,'\n'))!=Ok) {     WY_THROW(r);   }   if(n_rd!=1) {     WY_THROW( WyRet() );   }   if(buf[0]!='\n') {     WY_THROW( WyRet() );   }   if(tmp.pos()!=1) {     WY_THROW( WyRet() );   }   CHK_NOT_DEFAULT(tmp);   n_rd=5;   // pre-set for test overwrite   if((r=tmp._read_till(buf,sizeof(buf),n_rd,'\n'))!=Ok) {     WY_THROW(r);   }   if(n_rd!=0) {     WY_THROW( WyRet() );   }   if((r=tmp.reset())!=Ok) {     WY_THROW(r);   }   CHK_DEFAULT(tmp); } // _read_till(2), TFile1A {   WyRegFile tmp(TFile1A);   WyStr buf("b");   size_t n_rd=5;   // anything not zero   CHK_NOT_DEFAULT(tmp);   if((r=tmp._read_till(buf,size_t(0),n_rd,'\n'))!=Ok) {     WY_THROW(r);   }   if(n_rd!=0) {     WY_THROW( WyRet() );   }   if(buf!="b") {     WY_THROW( WyRet() );   }   if(tmp.pos()!=0) {     WY_THROW( WyRet() );   }   n_rd=5;   // pre-set for test overwrite   if((r=tmp._read_till(buf,size_t(2),n_rd,'\n'))!=Ok) {     WY_THROW(r);   }   if(n_rd!=1) {     WY_THROW( WyRet() );   }   if(buf!="b\n") {     WY_THROW( WyRet() );   }   if(tmp.pos()!=1) {     WY_THROW( WyRet() );   }   if((r=tmp._read_till(buf,size_t(5),n_rd,'\n'))!=Ok) {     WY_THROW(r);   }   if(n_rd!=0) {     WY_THROW( WyRet() );   }   if(buf!="b\n") {     WY_THROW( WyRet() );   }   CHK_NOT_DEFAULT(tmp);   // read again, see if it is appended   tmp.set_pos(0);   n_rd=5;   // pre-set for test overwrite   if((r=tmp._read_till(buf,size_t(5),n_rd,'\n'))!=Ok) {     WY_THROW(r);   }   if(n_rd!=1) {     WY_THROW( WyRet() );   }   if(buf!="b\n\n") {     WY_THROW( WyRet() );   }   if(tmp.pos()!=1) {     WY_THROW( WyRet() );   }   CHK_NOT_DEFAULT(tmp); } // _read_till(1), TFile2A {   WyRegFile tmp(TFile2A);   char buf[3]={-1,-1,-1};   size_t n_rd=5;   // anything not zero   CHK_NOT_DEFAULT(tmp);   if((r=tmp._read_till(buf,sizeof(buf),n_rd,'?'))!=Ok) {     WY_THROW(r);   }   if(n_rd!=2) {    // TFile2A is two bytes long     WY_THROW( WyRet() );   }   if((buf[0]!='\n')||(buf[1]!='\n')) {     WY_THROW( WyRet() );   }   if(tmp.pos()!=2) {     WY_THROW( WyRet() );   }      if((r=tmp.reset())!=Ok) {     WY_THROW(r);   }    if((r=tmp.reset(TFile2A))!=Ok) {     WY_THROW(r);   }    if((r=tmp._read_till(buf,sizeof(buf),n_rd,'\n'))!=Ok) {     WY_THROW(r);   }   if(n_rd!=1) {     WY_THROW( WyRet() );   }   if(buf[0]!='\n') {     WY_THROW( WyRet() );   }   if(tmp.pos()!=1) {     WY_THROW( WyRet() );   }   if((r=tmp._read_till(buf,sizeof(buf),n_rd,'\n'))!=Ok) {     WY_THROW(r);   }   if(n_rd!=1) {     WY_THROW( WyRet() );   }   if(buf[0]!='\n') {     WY_THROW( WyRet() );   }   if(tmp.pos()!=2) {     WY_THROW( WyRet() );   }   if((r=tmp._read_till(buf,sizeof(buf),n_rd,'\n'))!=Ok) {     WY_THROW(r);   }   if(n_rd!=0) {     WY_THROW( WyRet() );   }   if(tmp.pos()!=2) {     WY_THROW( WyRet() );   }   if((r=tmp.reset())!=Ok) {     WY_THROW(r);   }   CHK_DEFAULT(tmp); } // _read_till(2), TFile2A {   WyRegFile tmp(TFile2A);   WyStr buf;   size_t n_rd=5;   // anything not zero   CHK_NOT_DEFAULT(tmp);   if((r=tmp._read_till(buf,size_t(5),n_rd,'\n'))!=Ok) {     WY_THROW(r);   }   if(buf.size()!=1) {     WY_THROW( WyRet() );   }   if(n_rd!=1) {     WY_THROW( WyRet() );   }   if(buf[0]!='\n') {     WY_THROW( WyRet() );   }   if(tmp.pos()!=1) {     WY_THROW( WyRet() );   }   CHK_NOT_DEFAULT(tmp);   if((r=tmp._read_till(buf,size_t(5),n_rd,'\n'))!=Ok) {     WY_THROW(r);   }   if(buf.size()!=2) {     WY_THROW( WyRet() );  // not appended   }   if(n_rd!=1) {     WY_THROW( WyRet() );   }   if(buf[1]!='\n') {     WY_THROW( WyRet() );   }   if(tmp.pos()!=2) {     WY_THROW( WyRet() );   }   CHK_NOT_DEFAULT(tmp);   if((r=tmp._read_till(buf,size_t(5),n_rd,'\n'))!=Ok) {     WY_THROW(r);   }   if(n_rd!=0) {     WY_THROW( WyRet() );   }   if(buf.size()!=2) {     WY_THROW( WyRet() );  // modified   }   CHK_NOT_DEFAULT(tmp); } // _read_till, TFile2A {   WyRegFile tmp("ck_regfile.cpp",O_RDONLY); // this file   size_t fsize;      // size of this file   WyStr buf;   size_t n_rd=99999;   CHK_NOT_DEFAULT(tmp);   {     WyFileStat stt;     if((r=tmp.stat(stt))!=Ok) {       WY_THROW(r);     }     fsize=stt.sf_size();     if(fsize<1800) {        // known minimal       WY_THROW( WyRet() );     }     if((r=buf.append(char(0)))!=Ok) {       WY_THROW(r);     }   }   // Find this unique character ` (exactly here in this cpp file)   //   const char UniqueChar='`';   if((r=tmp._read_till(buf,fsize,n_rd,UniqueChar))!=Ok) {     WY_THROW(r);   }   if((n_rd>=fsize)||(n_rd<1800)) { // n_rd range not right     WY_THROW( WyRet() );   }   if(buf.size()!=n_rd+1) {     WY_THROW( WyRet() );   }   if(buf[0]!=char(0)) {     WY_THROW( WyRet() );  // pre-exit char overwritten   }   if(buf[n_rd]!=UniqueChar) {     WY_THROW( WyRet() );   }   if(tmp.pos()!=off_t(n_rd)) {     WY_THROW( WyRet() );   } } // resize {   WyRegFile tmp;   const char buf[2]={-1,-1};   size_t n_wr=5;   // anything not zero   CHK_DEFAULT(tmp);

⌨️ 快捷键说明

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