1.strlen(求字符串长度)

注:

  • strlen函数以'\0'为结束标志,strlen函数返回的是'\0'前面的字符个数(不包含'\0')
  • 参数指向的字符串必须要以'\0'结束
  • 注意函数strlen函数的返回类型是size_t---无符号类型(皆为正数)
  • 学会strlen函数的模拟函数

1.0此函数的应用

#include<stdio.h>
#include<string.h>
int main()
{
  char arr[]="abcdef";
  printf("%d\n",strlen(arr));
}

2.0模拟此函数

#include<stdio.h>
#include<assert.h>
int my_strlen(const char* str)
{
  assert(str!=NULL);
  int count=0;
  while(*str!='\0')
  {
    count++;
    str++;
  }
    return count;
}
int main()
{
  char arr[]="abcdefg";
  int len=my_strlen(arr);
  printf("%d\n",len);
}

2.strcpy(字符串拷贝)

注:

1.0此函数的应用

#include<stdio.h>
#include<string.h>
int main()
{
  char arr1[]="abcdef";
  char arr2[]="hello";
  strcpy(arr1,arr2);
  printf("%s",arr1);
}

2.0此函数的模拟

#include<stdio.h>
#include<assert.h>
char* my_strcpy(char* str1,const char* str2)
{
  assert(str1!=NULL&&str2!=NULL);
  char* ret=str1;
  while(*str2!='\0')
  {
    *str1=*str2;
    str1++;
    str2++;
  }
  return ret;
}
int main()
{
  char arr1[]="abcdef";
  const char arr2[]="hello";
  my_strcpy(arr1,arr2);
  printf("%s",arr1);
}