在编写程序过程中,我们经常使用到一些字符串函数,例如求字符串长度,拷贝字符串……,这些函数都在C标准库中存在,我们可以直接使用。但我们还需要掌握这些函数的实现方法,今天来看看一些常用的字符串操作函数的实现方法
1. strlen
strlen是用来求字符串长度的函数,字符串长度就是字符串中包含的字符的个数,但是不包含字符串结尾的 ‘\0’
实现strlen有三种方法:
(1)定义一个计数器
size_t mystrlen(const char* str)
{
size_t count = 0;
while (*str != '\0')
{
count++;
str++;
}
return count;
}
(2)递归版本
size_t my_strlen(const char *str)
{
if (*str == '\0')
return 0;
else
return my_strlen(str + 1) + 1;
}
(3)利用指针 - 指针
size_t mystrlen(const char* str)
{
const char* end = str;
while (*end++)
;
return end - str - 1;
}
2.strcpy
用于复制字符串的函数是strcpy,它的原型如下: