C语言第四十九弹----模拟使用strcpy函数

简介: C语言第四十九弹----模拟使用strcpy函数

使用C语言模拟使用strcpy函数

定义:strcpy 函数是 C 标准库中用于字符串复制的函数。它接受两个参数,第一个参数 dest 是目标字符串的指针,第二个参数 src 是源字符串的指针,函数的功能是将源字符串复制到目标字符串中,返回目标字符串指针。

思路:理解定义,相当于一个复制操作。通过循环,把一个字符串,放入另外一个字符串中即可。

代码如下:

#include <stdio.h>
#include <assert.h>
char* my_strlen(char* dest, char* src)
{
  assert(dest && src);
  char* ret = dest;//记住首地址
  while (*src != '\0')//当src为\0时证明已经完成了赋值
  {
    *dest++ = *src++;
  }
  return ret;//返回首地址,相当于返回整个字符串
}
int main()
{
  char arr1[] = "abcdef";
  char arr2[20] = { 0 };
  printf("%s\n",my_strlen(arr2,arr1));
}

plus版本

#include <stdio.h>
#include <assert.h>
char* my_strlen(char* dest, char* src)
{
  assert(dest && src);
  char* ret = dest;//记住首地址
  while (*dest++ = *src++)//两者不等时,即复制完成,可以直接作为循环条件来控制循环。
  {
    ;
  }
  return ret;//返回首地址,相当于返回整个字符串
}
int main()
{
  char arr1[] = "abcdef";
  char arr2[20] = { 0 };
  printf("%s\n",my_strlen(arr2,arr1));
}
相关文章
|
23小时前
|
编译器 程序员 C语言
【C语言篇】从零带你全面了解函数(包括隐式声明等)(下篇)
⼀般情况下,企业中我们写代码时候,代码可能⽐较多,不会将所有的代码都放在⼀个⽂件中;我们往往会根据程序的功能,将代码拆分放在多个⽂件中。
|
18小时前
|
C语言
【C语言】字符串及其函数速览
【C语言】字符串及其函数速览
11 4
|
4天前
|
测试技术 C语言
C语言中的void函数
C语言中的void函数
|
4天前
|
存储 安全 编译器
C语言中的scanf函数
C语言中的scanf函数
|
4天前
|
存储 搜索推荐 C语言
C语言中的指针函数:深入探索与应用
C语言中的指针函数:深入探索与应用
|
4天前
|
C语言
C语言中的无参函数
C语言中的无参函数
|
18小时前
|
C语言
【C语言】epoll函数
【C语言】epoll函数
8 0
|
22小时前
|
C语言
【C语言篇】字符和字符串以及内存函数详细介绍与模拟实现(下篇)
perror函数打印完参数部分的字符串后,再打印⼀个冒号和⼀个空格,再打印错误信息。
|
23小时前
|
存储 安全 编译器
【C语言篇】字符和字符串以及内存函数的详细介绍与模拟实现(上篇)
当然可以用scanf和printf输入输出,这里在之前【C语言篇】scanf和printf万字超详细介绍(基本加拓展用法)已经讲过了,这里就不再赘述,主要介绍只针对字符的函数.
|
23小时前
|
程序员 编译器 Serverless
【C语言篇】从零带你全面了解函数(包括隐式声明等)(上篇)
函数的参数部分需要交代清楚:参数个数,每个参数的类型是什么,形参的名字叫什么。