欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

strlen、strcpy、strcat函数的自主实现

程序员文章站 2022-07-15 09:13:52
...

strlen

int Strlen(const char* str) {
 int size = 0;
 while (*str != '\0') {
  size++;
  str++;
 }
 return size;
}

strcpy

char* Strcpy(char* str1, const char* str) {
 //参数合法性校验
 //assert 叫做 "断言" . () 的条件必须要成立, 否则程序就直接崩溃
 assert(str1 != NULL && str != NULL);
 int i = 0;
 while (str[i] != '\0') {
  str1[i] = str[i];
  i++;
 }
 str1[i] = '\0';//为新的字符串添加结束的标志
 return str1;
}

strcat

char* Strcat(char* str1, const char* str) {//把str中的内容接到str1内容的后面
 //参数合法性校验
 //assert 叫做 "断言" . () 的条件必须要成立, 否则程序就直接崩溃
 assert(str1 != NULL && str != NULL);
 int find = 0;
 while (str1[find] != '\0') {
  find++;
 }
 int i = 0;
 while (str[i] != '\0') {
  str1[find + i] = str[i];
  i++;
 }
 str1[find + i] = '\0';
 return str1;
}