这些字符串函数一定加头文件
#include <string.h>
strlen函数:
1.它的功能:
计算字符串的长度
2.strlen的实现:
int my_strlen(const char * str)
{
int count = 0;
assert(str);
while(*str)
{
count++;
str++;
}
return count;
}
strcut函数:
1.这个函数实现的是字符串追加的功能
2.源字符串以 '\0' 结束,
⽬标字符串中也得有 \0 ,否则没办法知道追加从哪⾥开始,当执行到'\0'时就会停止。
3.⽬标空间必须有⾜够的⼤,能容纳下源字符串的内容。
strcut的模拟实现:
void my_strcut(char* a, const char* b)
{
int c = a;
assert(a && b);
while (*a)
{
a++;
}
while (*a++ = *b++)
{
;
}
return c;
}
int main()
{
char a[20] = "abcd";
char b[20] = "efg";
my_strcut(a, b);
printf("%s", a);
return 0;
}
strcmp函数:
1.功能:
比较字符串的大小
2.规则:
第⼀个字符串⼤于第⼆个字符串,则返回⼤于0的数字
第⼀个字符串等于第⼆个字符串,则返回0
第⼀个字符串⼩于第⼆个字符串,则返回⼩于0的数字
vs中它返回的数字是-1,0,1.
字符比较的方法为:⽐较两个字符串中对应位置上字符ASCII码值的⼤⼩,不是字母或字符的多少。
3.strcmp的模拟实现:
int my_strcmp(const char* a, const char* b)
{
assert(a && b);
while (*a==*b)
{
if (*b=='\0')
{
return 0;
}
a++;
b++;
}
if (*a > *b)
{
return 1;
}
else
{
return -1;
}
}
int main()
{
char a[20] = "abcd";
char b[20] = "efg";
int r= my_strcmp(a, b);
printf("%d", r);
return 0;
}
strcpy函数:
1.功能:会将源字符串中的字符串和 '\0' 拷⻉到⽬标空间。
⽬标空间必须⾜够⼤,以确保能存放源字符串
2.strcmp的模拟实现:
char *my_strcpy(char *dest, const char*src)
{
char *ret = dest;
assert(dest != NULL);
assert(src != NULL);
while((*dest++ = *src++))
{
;
}
return ret;
}
以上是一些平时常用的一些字符串函数,感兴趣的可以去搜索了解更多。
标签:return,函数,++,char,int,字符串,my From: https://blog.csdn.net/2301_80167891/article/details/136791286