int my_strlen(const char* str)
{
assert(str);
int count = 0;
while (*str++)
{
count++;
}
return count;
}
char* my_strspy(char* dst, const char* src)
{
assert(dst);
assert(src);
char* ret = dst;
while (*dst++ = *src++);
return ret;
}
char* my_strncpy(char* dst, const char* src, int n)
{
assert(dst);
assert(src);
char* ret = dst;
while (n--)
{
*dst++ = *src++;
}
if (*(dst-1) != '\0')
{
*dst = '\0';
}
return ret;
}
int my_strcmp(char* str1, char* str2)
{
assert(str1);
assert(str2);
while (*str1 == *str2)
{
if (*str1 == '\0' || *str2 == '\0')
{
return 0;
}
str1++;
str2++;
}
return *str1 - *str2;
}
char* my_strcat(char* dst, const char* src)
{
assert(dst);
assert(src);
char* ret = dst;
while (*dst)
{
*dst++;
}
while (*dst++ = *src++);
return ret;
}
模擬實現strlen、strcpy、strncpy、strcat、strcmp
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.