你应该知道的C语言干货(3)(strcat和strcmp的模拟实现)

简介: #strcat的模拟实现

#strcat的模拟实现

#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
#include <assert.h>
char *my_strcat(char *str1,const char* str2)
{
  assert(str1 && str2);
  while (*str1 != '\0')
  {
    str1++;
  }
  while (*str2 != '\0')
  {
    *str1 = *str2;
    str1++;
    str2++;
  }
  *str1 = '\0';        //别忘了补\0
  return str1;         //这里要有返回值,不然会报错,因为
                         //我们定义的就有返回值,模拟的是库函数
}
int main()
{
  char str1[20] = "hello ";
  char str2[] = "world!";
  my_strcat(str1, str2);
  printf("str1 = %s", str1);
  return 0;
}

#strcmp的模拟实现

#include <stdio.h>
#include <assert.h>    
int my_strcmp(const char* str1, const char* str2)
{
  assert(str1 && str2);   //断言,如果不符合括号里的条件,停止运行并报错
  while (*str1 && *str2 && (*str1 == *str2))
  {
    str1++;
    str2++;
  }
  return *str1 - *str2;
}
int main()
{
  char str1[] = "a ha ha~";
  char str2[] = "a ha ha~";
  int ret = my_strcmp(str1, str2);
  if (ret > 0)
    printf("大于\n");
  else if (ret < 0)
    printf("小于\n");
  else
    printf("等于\n");
  return 0;
}

#下期预告:

strncpy
strncat
strncmp
strstr
strtok
目录
相关文章
|
C语言
【C语言基础篇】字符串处理函数(四)strcmp的介绍及模拟实现
【C语言基础篇】字符串处理函数(四)strcmp的介绍及模拟实现
1030 0
|
安全 编译器 C语言
C语言学习记录——字符串相关函数及部分模拟(strcmp、strncmp、strncat、strncpy、strstr、strtok、strerror)
C语言学习记录——字符串相关函数及部分模拟(strcmp、strncmp、strncat、strncpy、strstr、strtok、strerror)
220 1
|
C语言
C语言学习记录——模拟字符串相关函数(strcpy、strlen、strcat)相关知识-const、typedef
C语言学习记录——模拟字符串相关函数(strcpy、strlen、strcat)相关知识-const、typedef
125 1
|
C语言
C语言:字符函数和字符串函数(strlen strcat strcmp strncmp等函数和模拟实现)
C语言:字符函数和字符串函数(strlen strcat strcmp strncmp等函数和模拟实现)
251 2
|
C语言
【C语言】字符串函数strcpy&&strcat&&strcmp&&strstr的使⽤和模拟实现2
【C语言】字符串函数strcpy&&strcat&&strcmp&&strstr的使⽤和模拟实现
221 6
|
存储 C语言
【C语言基础篇】字符串处理函数(三)strcat的介绍及模拟实现
【C语言基础篇】字符串处理函数(三)strcat的介绍及模拟实现
|
C语言
C语言进阶⑬(字符串函数)+(指针编程题)strlen+strcpy+strcat+strstr+strtok+strerror(下)
C语言进阶⑬(字符串函数)+(指针编程题)strlen+strcpy+strcat+strstr+strtok+strerror
157 0
|
安全 C语言
C语言进阶⑬(字符串函数)+(指针编程题)strlen+strcpy+strcat+strstr+strtok+strerror(中)
C语言进阶⑬(字符串函数)+(指针编程题)strlen+strcpy+strcat+strstr+strtok+strerror
202 0
|
C语言
C语言进阶⑬(字符串函数)+(指针编程题)strlen+strcpy+strcat+strstr+strtok+strerror(上)
C语言进阶⑬(字符串函数)+(指针编程题)strlen+strcpy+strcat+strstr+strtok+strerror
145 0
|
存储 C语言
【C语言】字符串函数strcpy&&strcat&&strcmp&&strstr的使⽤和模拟实现1
【C语言】字符串函数strcpy&&strcat&&strcmp&&strstr的使⽤和模拟实现
191 0