四个C语言常用字符串处理函数的实现
strlen():用来求字符串的长度,即字符个数(不含’\0’)。
size_t str_len(const char* str)
{
assert(NULL != str);//若指针str指向地址为空,不满足条件,终止程序执行,头文件assert.h
const char* tmp = str;
while(*tmp) tmp++;
return tmp - str;
}
strcpy():把字符串从原地址拷贝到另一个地址空间
char* str_cpy(char* dest,const char* src)//从地址src拷贝到地址dest,返回地址dest
{
assert(NULL!=dest && NULL!=src);
char* tmp = dest;
while(*tmp++ = *src++);
return dest;
}
strcat():用来将两个字符串拼接起来
char* str_cat(char* dest,const char* src)//将字符串src拼接至字符串dest末尾,返回dest
{
assert(NULL!=dest && NULL!=src);
char* tmp = dest;
while(*tmp)tmp++;
while(*tmp++ = *src++);
return dest;
}
strcmp():比较两个字符串大小,返回比较结果
int str_cmp(const char* s1,const char* s2)
{
assert(NULL!=s1 && NULL!=s2);
while(*s1 == *s2 && *s1) s1++,s2++;
if(*s1 > *s2)
return 1;
if(*s1 < *s2)
return -1;
return 0;
}