我欲乘风yecheng.blog.chinaunix.net
yecheng_110
全部博文(78)
2007年(53)
2006年(25)
DT27
jolinok
ylke2007
saintdra
zhxd
大鬼不动
tntcheng
chenkeac
flb_2001
yyfq521
bluesky0
zjq5688
w1818618
168Kill
myoeoo
bolebdms
sxzf168
11qq22ww
分类: C/C++
2006-10-24 09:43:41
//从字符串末尾向首部进行比较 int strendcmp(const char* a, const char* b) { int alen = strlen(a); int blen = strlen(b); int maxlen = alen < blen ? alen : blen; char* apos = (char*)a + alen - 1; char* bpos = (char*)b + blen - 1; unsigned char achar; unsigned char bchar; while(maxlen > 0) { achar = *apos ; bchar = *bpos ; if (achar > bchar) { return 1; } if (achar < bchar) { return -1; } maxlen --; apos --; bpos --; } if (alen > blen) { return 1; } if (alen < blen) { return -1; } return 0; // both equal } //安全的strcat函数 //max_len为dst的数组长度。 char * strcat_s(char * dst, char * src,int max_len) { char * cp = dst; while( *cp ) ++cp; /* Find end of dst */ while( (int)(cp - dst) < max_len ) { if( (*cp++ = *src++) == 0 ) /* Copy src to end of dst */ break; } dst[max_len -1] = 0; return dst; }
上一篇:去掉数组中重复的行[perl]
下一篇:预定义变量[perl]
登录 注册