int my_strcmp(const char* str1, const char* str2)
{
if(NULL == str1 || NULL == str2)
return -1;
while(*str1 == *str2){
if (!*str1) return 0;
str1++;
str2++;
}
return *str1 - *str2;
}
int my_strncmp ( const char * str1, const char * str2, size_t num )
{
if(NULL == str1 || NULL == str2)
return -1;
while(*str1 == *str2 && --num){
if (!*str1) return 0;
str1++;
str2++;
}
return *str1 - *str2;
}
int my_memcmp ( const void * ptr1, const void * ptr2, size_t num )
{
if(NULL == ptr1 || NULL == ptr2)
return -1;
const char* str1 = (char*)ptr1;
const char* str2 = (char*)ptr2;
while(*str1 == *str2 && --num){
if (!*str1) return 0;
str1++;
str2++;
}
return *str1 - *str2;
}
char* my_strcat(char* dest, const char* source)
{
if (NULL == dest || NULL == source) return NULL;
char* strDest = dest;
while(*dest)
dest++;
while(*dest++ = *source++)
;
return strDest;
}
char* my_strncat(char * dest, const char * source, size_t count)
{
if (NULL == dest || NULL == source) return NULL;
char* strDest = dest;
while(*dest)
dest++;
while(count-- && *source)
*dest++ = *source++;
*dest = '\0';//这里一定要加这个,不然就会出错
return strDest;
}
void* my_memset(void* ptr, int value, size_t num)
{
if (NULL == ptr) return NULL;
char* str = (char*)ptr;
while(num--){
*str++ = char(value);
}
return ptr;
}
size_t my_strlen (const char * str)
{
if(NULL == str) return 0;
const char * eos = str;
while( *eos++ )
;
return (eos - str - 1);
}
strcmp,strncmp,memcmp,strcat,strncat函数实现
最新推荐文章于 2023-03-10 21:52:26 发布