添加头文件
#include <stdio.h>
#include <string.h>
实现strlen函数
size_t str_len(const char* str)
{
// if(NULL == str) return 0;
// assert(NULL != str);
const char* temp = str;
while(*temp) temp++;
return temp - str;
}
注意:
if(NULL == str) return 0;
assert(NULL != str);
作用是为了判断str指针的是否为空,可加可不加。不加的原因是原strlen函数不具备这个判断的功能。
strcpy函数
char* str_cpy(char* dest,const char* src)
{
if(NULL == dest || NULL == src) return NULL;
char* temp = dest;
while(*temp++ = *src++);
return dest;
}
strcat函数
char* str_cat(char* dest,const char* src)
{
char* temp = dest;
while(*temp) temp++;
while(*temp++ = *src++);
return dest;
}
strcmp函数
int str_cmp(const char* s1,const char* s2)
{
while(*s1 && *s1 == *s2) s1++,s2++;
return *s1 - *s2;
/*
if(*s1 > *s2) return 1;
if(*s1 < *s2) return -1;
return 0;
*/
}
注意:如果有特定要求必须返回1或-1,可以执行/*...*/内的语句。