本文整理汇总了C++中VString::endu方法的典型用法代码示例。如果您正苦于以下问题:C++ VString::endu方法的具体用法?C++ VString::endu怎么用?C++ VString::endu使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类VString
的用法示例。
在下文中一共展示了VString::endu方法的10个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: PartLineDoubleUp
VString PartLineDoubleUp(VString line, VString el, VString er){
unsigned char *pos=line, *lpos;
if(!rtmsu(line.endu(), el, el, pos)){ return VString(); }
lpos=pos+=el.sz; //el.setu(pos+el.sz, line.endu()-pos-el.sz);
if(!rtmsu(line.endu(), er, er, pos)){ return VString(); }
return VString(lpos, pos-lpos);
}
示例2: dspacevt
VString dspacevt(VString &line, int s){ // удаление пробелов и табов s - начало конец вернуть; 1,2,4
unsigned char *ln=line, *to=line.endu();
if(s&1) for(ln; ln<to; ln++){ if(*ln!=' ' && *ln!='\t' ) break; }
if(s&2) for(to; ln<to; to--){ if(*(to-1)!=' ' && *(to-1)!='\t') break; }
if(s&4) return line=VString(ln, to-ln);
return VString(ln, to-ln);
}
示例3: ParamLine
// ParamLine
int ParamLine(VString line, VString &name, unsigned char *k, VString *v, int sz){
int count=0;
VString t;
unsigned char *ln=line, *lln=ln, *to=line.endu(), lk=0, f=1;
while(ln<to+1){
if(ln==to || *ln=='.' || *ln==',' || *ln=='=' || *ln=='!' || *ln=='*' || *ln=='/' || *ln=='+'/* || *ln=='-'*/ || *ln=='!' || *ln=='~' || *ln==':'){
t.setu(lln, ln-lln); dspacev(t, 7);
if(f){
f=0;
name=t;
}
else{
if(count<sz){
k[count]=lk;
v[count]=t;
count++;
}
}
lk=*ln; lln=ln+1;
}
ln++;
}
return count;
}
示例4: PartLineST
VString PartLineST(VString line, VString &two){ // one = "Text Part ONe" [Space || Tab] "Text Part Two" -> two
unsigned char *ln = line, *to =line.endu();
while(ln < to && (*ln != ' ' || *ln !='\t'))
ln ++;
if(ln == to){
two.Clean();
return line;
}
line = line.str(ln - line.data);
while(ln < to && (*ln == ' ' || *ln =='\t'))
ln ++;
two.setu(ln, to - ln);
return line;
}
示例5: PartLineTwo
VString PartLineTwo(VString line, VString &two, VString el, VString el2){
unsigned char *pos = line, *pos2 = pos;
if(!rtms(line.endu(), el, el, pos))
pos = line.endu();
if(!rtms(line.endu(), el2, el2, pos2))
pos2 = line.endu();
pos = pos < pos2 ? pos : pos2;
if(pos == line.endu()){
two.Clean();
return line;
}
two.setu(pos+el.sz, line.endu()-pos-el.sz);
return VString(line.uchar(), pos-line.uchar());
}
示例6: rpmf_date
unsigned int MTime::rpmf_date(unsigned char *ret, unsigned int rsz, const VString line, unsigned int tm, bool gmt, bool eng, BYTE c){
unsigned char *aret=ret, *rt=ret ? ret+rsz : 0; // define
unsigned char *ln=line, *to=line.endu();
//LString ret; Itos it;
//for(unsigned int i=0; i<line.size(); i++){
for(ln; ln<to; ln++){
if(c){
if(*ln!=c){ if(ret<rt) *ret++=*ln; continue; }
ln++;
continue;
}
switch(*ln){
case 'a': if(ret+2<rt){ *ret++= hour<12 ? 'a' : 'p'; *ret++='m'; } else ret+=2; break;
case 'A': if(ret+2<rt){ *ret++= hour<12 ? 'a' : 'p'; *ret++='M'; } else ret+=2; break; //ret+=hour<12 ? "AM" : "PM"; break;
// b
case 'd': ret+=prmf_itos(ret, ret<rt ? rt-ret : 0, day, 10, 2); break;
case 'D': if(!eng){ if(ret+3<rt){ memcpy(ret, MTIME_MTDAYS_USE[((year-1970)*365+(year-1970+1)/4+doy+4)%7], 3); } ret+=3; } // ret+=VString(MTIME_MTDAYS_USE[((year-1970)*365+(year-1970+1)/4+doy+4)%7]).Left(3);
else { if(ret+3<rt){ memcpy(ret, mtdays[((year-1970)*365+(year-1970+1)/4+doy+4)%7], 3); } ret+=3; }
break;
//ret+=VString(mtdays[((year-1970)*365+(year-1970+1)/4+doy+4)%7]).Left(3); break; // day name
/* case 'F': if(!eng) ret+=MTIME_MTMONTH_USE[month-1]; else ret+=mtmonths[month-1]; break; // month name
*/ case 'g': ret+=prmf_itos(ret, ret<rt ? rt-ret : 0, hour-(hour>11 ? 12 : 0)); break;
case 'h': ret+=prmf_itos(ret, ret<rt ? rt-ret : 0, hour-(hour>11 ? 12 : 0), 10, 2); break;
case 'G': ret+=prmf_itos(ret, ret<rt ? rt-ret : 0, hour); break;
case 'H': ret+=prmf_itos(ret, ret<rt ? rt-ret : 0, hour, 10, 2); break;
case 'i': ret+=prmf_itos(ret, ret<rt ? rt-ret : 0, minute, 10, 2); break;
//i
/* case 'l': if(!eng) ret+=MTIME_MTDAYS_USE[((year-1970)*365+(year-1970+1)/4+doy+4)%7];
else ret+=mtdays[((year-1970)*365+(year-1970+1)/4+doy+4)%7]; break; // day name
case 'J': ret+=it.itos(day); break;
case 'L': ret+=(year-2%4)? "0" : "1"; break;
*/ case 'm': ret+=prmf_itos(ret, ret<rt ? rt-ret : 0, month, 10, 2); break;
case 'M': if(!eng){ if(ret+3<rt){ memcpy(ret, MTIME_MTMONTH_USE[month-1], 3); } ret+=3; }
else{ if(ret+3<rt){ memcpy(ret, mtmonths[month-1], 3); } ret+=3; }
break;
/* //M
case 'p':{ int d=(::time()-::time()%86400-tm+86400)/86400;
if(!eng) if(d<3) ret+=MTIME_MTPDAYS_USE[2-d];
else ret+=MTIME_MTDAYS_USE[((year-1970)*365+(year-1970+1)/4+doy+4)%7];
else if(d<3) ret+=mtdays[2-d];
else ret+=mtdays[((year-1970)*365+(year-1970+1)/4+doy+4)%7]; break; // day name
break;}
*/ // case 'n': ret+=it.itos(month-1); break;
case 'O':
if(timezone<=0){ if(ret<rt){ *ret='+'; } ret++; }
ret+=prmf_itos(ret, ret<rt ? rt-ret : 0, -timezone/60, 10, 2);
ret+=prmf_itos(ret, ret<rt ? rt-ret : 0, dstflag, 10, 2);
break;
case 'r': ret+=rpmf_date(ret, ret<rt ? rt-ret : 0, "D, d M Y H:i:s O", tm, gmt, eng, c); break;
case 's': ret+=prmf_itos(ret, ret<rt ? rt-ret : 0, sec, 10, 2); break;
case 't': ret+=prmf_itos(ret, ret<rt ? rt-ret : 0, day); break;
case 'Y': ret+=prmf_itos(ret, ret<rt ? rt-ret : 0, year); break;
case 'y': ret+=prmf_itos(ret, ret<rt ? rt-ret : 0, year%100); break;
case 'w': ret+=prmf_itos(ret, ret<rt ? rt-ret : 0, ((year-1970)*365+(year-1970+1)/4+doy+4)%7); break;
case 'z': ret+=prmf_itos(ret, ret<rt ? rt-ret : 0, doy); break;
/*
В строке формата распознаются следующие символы:
B - время Swatch Internet
I (заглавная i) - "1", если Daylight Savings Time, "0" - в противном случае.
//l ('L' в нижнем регистре) - день недели, буквенный, long; например, "Friday"
//M - месяц, буквенный, 3 буквы; например, "Jan"
O - Разница с временем по Гринвичу, в часах; например, "+0200"
r - RFC 822 формат даты; например, "Thu, 21 Dec 2000 16:01:07 +0200" (введён в PHP 4.0.4)
S - простой английский суффикс для дня (числа) месяца, 2 символа; т.е. "st", "nd", "rd" или "th"
T - установка Timezone/Часовой пояс на данной машине; например, "EST" или "MDT"
U - секунды эпохи Unix Epoch (начиная с January 1 1970 00:00:00 GMT)
w - день недели, числовой, т.е. от "0" (Sunday) до "6" (Saturday)
W - ISO-8601 номер недели в году, недели начинаются с понедельника/Monday (введено в PHP 4.1.0)
Z - смещение часового пояса, в секундах (т.е. от "-43200" до "43200"). Смещение часовых поясов к западу от UTC всегда отрицательное, а для поясов в востоку от UTC - всегда положительное.
*/
default:
if(*ln=='\\' && ln+1<to){ if(ret<rt) *ret=*(ln+1); ln++; ret++; }
else{ if(ret<rt) *ret=*ln; ret++; }
}
}
return ret-aret;
}
示例7: PartLineOT
VString PartLineOT(VString line, VString el){ // Get One, tvo part
unsigned char *pos=line;
if(!rtms(line.endu(), el, el, pos)){ return VString(); }
return VString(pos+el.sz, line.endu()-pos-el.sz);
}
示例8: PartLineIfO
VString PartLineIfO(VString line, VString el){ // Get One If found
unsigned char *pos=line;
if(!rtms(line.endu(), el, el, pos)){ return VString(); }
return VString(line.uchar(), pos-line.uchar());
}
示例9: PartLineFind
VString PartLineFind(VString line, VString el){
unsigned char *pos=line;
if(!rtms(line.endu(), el, el, pos)){ return VString(); }
return VString(pos, el);
}
示例10: PartLine
// PartLine
VString PartLine(VString line, VString &two, VString el){
unsigned char *pos=line;
if(!rtms(line.endu(), el, el, pos)){ two.Clean(); return line; }
two.setu(pos+el.sz, line.endu()-pos-el.sz);
return VString(line.uchar(), pos-line.uchar());
}