1 strlen
/*
原型:size_t strlen(const char *s)
功能:获取字符串s的长度
说明:
*/
int
stringlen(
const
char
*
s)
... {
int i=0;
while(*s++)i++; //只能是*s++,不能++*s,因为s是const char*
return i;
}
... {
int i=0;
while(*s++)i++; //只能是*s++,不能++*s,因为s是const char*
return i;
}
2 strcmp
/*
原型:extern int strcmp(char *s1,char * s2);
功能:比较字符串s1和s2。
说明:
当s1<s2时,返回值<0
当s1=s2时,返回值=0
当s1>s2时,返回值>0
*/
int
stringcmp(
char
*
s1,
char
*
s2)
... {
while(*s1||*s2) //如果S1和S2比较完毕, 跳出循环;
...{
if(*s1-*s2) //判断S1和S2对应的字符是不是不同;
return *s1-*s2; //如果不同,返回S1和S2的ASCII之差;
else // 如果相同,让指针指向S1和S2的下一个字符比较
...{
s2++;
s1++;
}
}
return 0; // S1和S2相等的时候返回0;
}
... {
while(*s1||*s2) //如果S1和S2比较完毕, 跳出循环;
...{
if(*s1-*s2) //判断S1和S2对应的字符是不是不同;
return *s1-*s2; //如果不同,返回S1和S2的ASCII之差;
else // 如果相同,让指针指向S1和S2的下一个字符比较
...{
s2++;
s1++;
}
}
return 0; // S1和S2相等的时候返回0;
}
3 strcopy
/*
原型:char *strcpy(char *dest, const char *src);
功能:拷贝字符串,将src拷到dest。
说明:返回的是dest字符串的首地址
*/
char* stringcpy(char* strDest, const char* strSrc)
{
assert((strDest!=NULL) && (strSrc !=NULL)); //使用断言来防止出错
char* strAddr = strDest; //保存返回指针
while( ((*strDest++=*strSrc++) != '/0') );
return strAddr;
}