1.strlen字符串求长度
//遇到\0停止
int len=strlen("abcdef");
printf("%d\n,len);
char arr[]={'a','b','c','d'};
int len = strlen(arr); //随机值 遇到f后面的\0停止
1.1如果要自己写一个strlen方法
a.计数器的方法
b.递归
c.指针-指针
#Include <stdio.h>
#include <assert.h>
int my_strlen(const char *str)
{
assert(str!=NULL); //判断是否是空指针
int count=0;
while(*str)
{
count++;
str++;
}
return count;
}
int mian(){
int len=strlen("abcdef");
}
1.2
if(strlen("abc")-strlen("abcdef)>0)
{
printf("1");
}
else
{
printf("0");
}
//返回的是无符号整数(两个strlen返回的都是无符号数,相减依然是无符号数) 所以是1
//默认返回类型的是size_t,用my_strlen()相减,返回类型是int返回 0
char* my_strcat(char *dest,const char * src)
{
char *ret=dest;
assert(dest);
assert(src);
//1.找到目的字符串的\0
while(dest)
{
dest++;
//2.追加字符串
while(*dest++==*src++)
{
;
}
}
}
strcmp比较两个字符串是否相等
strncat(arr1,arr2,4);在arr1后面,追加arr2的前四个字符,并且自动补\0
memory:内存拷贝
int arr1[]={1,2,3,4,5};
int arr2[5]={0};
memcpy(arr2,arr1,sizeof(arr1));
int arr[3]={1,2,3,4,5,6,7,8,9};
memmove(arr+3,arr,20);
可以将12345拷贝到原函数变成12123456789