C语言字符串常用一些函数的实现
1.字符串的拷贝
https://blog.csdn.net/weixin_56935264/article/details/121065407
(上面这篇文章写过字符串的拷贝,此处就不详细写了)
2.求字符串的长度
int My_strlen(const char* str)
{
int count = 0;
while (str[count] != ' ')
{
count++;
}
return count;
}
3.字符串的连接
char* My_strcat(char* str1, const char* str2)
{
int i, j;
for (i = 0; str1[i] != ' '; i++);
for (j = 0; str2[j] != ' '; j++)
{
str1[i] = str2[j];
i++;
}
str1[i] = ' ';
return 0;
}
4.字符串的比较
int My_strcmp(const char* string1, const char* string2)
{
assert(string1 != NULL && string2 != NULL);
if (NULL == string1 || NULL == string2)
return -2;
while ((*string1 == *string2) && (*string1 != ' '))
{
string1++;
string2++;
}
int tmp = *string1 - *string2;
if (tmp == 0)
{
return 0;
}
else if (tmp > 0)
{
return 1;
}
else
{
return -1;
}
}
5.字符串前n项的比较
int my_strncmp(const char* string1, const char* string2, int count)//比较前几项的值
{
//如果写成后置--会多执行一次
while (--count && (*string1) = (*string2) && (*string1 != ' '))//两个不相等 相等但是为/0 需要比较的个数count 已经比较完毕
{
string1++;
string2++;
}
int tmp = *string1 - *string2;
if (tmp = 0)
{
return 0;
}
else if (tmp > 0)
{
return 1;
}
else
{
return -1;
}
}



