面试中可能会让自己手写的函数
1.strcpy
char* m_strcpy(char* dest, const char* src)//将src复制到dest
{
if ((dest == NULL) || (src == NULL))
return NULL;
char* res = dest;
while ((*dest++ = *src++) != '\0');
return res;
}
2.strlen
int m_strlen(const char* dest)//获取dest长度
{
if ((dest == NULL))
return NULL;
int size = 0;
while (*dest++ != '\0') {
size++;
}
return size;
}
3.strcmp
int m_strcmp(const char* s1 ,const char* s2) {
//比较两个字符串并根据比较结果返回整数.
//若str1=str2.则返回零.若str1<str2.则返回负数.若str1>str2.则返回正数.
while (*s1 == *s2) {
if (*s1 == '\0'|| *s2 == '\0')
return 0;
++s1;
++s2;
}
return *s1 - *s2;
}
4.strcat
char* m_strcat(char* dest,const char* src) {
//把src所指向的字符串复制到dest所指向的字符串后面.
char* res = dest;
while (*dest != '\0') {
++dest;
}
while ((*dest++ = *src++) != '\0')
return res;
}