计算字符串长度函数strlen:
int mystrlen(char *s)
{
int count = 0;
char *p = s;
if (!p)
{
return count;
}
while (*p != '\0')
{
count++;
p++;
}
return count;
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
字符串连接函数strcat:
int mystrcat(char str1[], char str2[])
{
if (!str1 || !str2)
{
return;
}
int i = 0;
while (str1[i] != '\0')
{
i++;
}
int j = 0;
while (str2[j] != '\0')
{
str1[i++] = str2[j++];
}
str1[i] = '\0';
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
字符串拷贝函数strcpy:
int mystrcpy(char str1[], char str2[])
{
int i = 0;
if (!str1 && !str2)
{
return;
}
while (str2[i] != '\0')
{
str1[i++] = str2[i];
}
str1[i] = '\0';
}
字符串比较函数strcmp:
int mycmp(char str1[], char str2[])
{
int i = 0;
while ((str1[i] == str2[i]) && str1[i] != '\0')
{
i++;
}
return str1[i]-str2[i];
}
另一种字符串比较方法,输出-1,0,1来达到比较效果:
int mycmp(char *str1, char *str2)
{
for (; *str1 != '\0';)
{
if (*str1 > *str2)
{
return 1;
}
else if (*str1 < *str2)
{
return -1;
}
else
{
return 0;
}
str1++;
str2++;
}
}