目录

(一)strcpy的实现

1.函数的声明;

2. 函数的头文件;

4.strcpy的函数使用

4.1结果;

5.my_strcpy的实现;

(二)strncpy的使用

1.strncpy的声明:

2.strncpy的头文件

3.strncpy的使用

4.结果;

5.my_strncpy的实现

(一)strcpy的实现

strcpy的作用是将源字符串拷贝到目的地的字符串中(覆盖)

在cplusplus中

1.函数的声明;

2. 函数的头文件;

#include<string.h>

 4.strcpy的函数使用

strcpy函数是将一个字符串的全部内容(包括'\0')拷贝到另一个字符串里。

int main()
{char arr1[30] = "#############";char arr2[10] = "zzdqs";strcpy(arr1, arr2);printf("%s\n", arr1);printf("%s\n", arr2);
}

4.1结果;

 5.my_strcpy的实现;

asser是断言判断传递过来的是否为空指针

函数需要返回到原dest的地址

所以将dest的地址存入一个指针ret中;

循环实现dest和sour中值的覆盖(此时dest的空间需要足够大)

当*sour的内容为‘\0’时结束循环;然后返回ret;

#include<assert.h>
char* my_strcpy(char* dest, const char* str)
{assert(*dest != NULL);assert(*str != NULL);char* ret = dest;while (*dest++ = *str++){;}return ret;
}int main()
{char arr1[] = "abcdefghi";char arr2[] = "zzp";my_strcpy(arr1, arr2);printf("%s\n", arr1);printf("%s\n", arr2);return 0;
}

(二)strncpy的使用

1.strncpy的声明:

在strcpy的基础上按个数覆盖

2.strncpy的头文件

#include<string.h>

3.strncpy的使用

int main()
{char arr1[30] = "abcdef";char arr2[20] = "ghij";int num = 4;printf("%s\n", strncpy(arr1, arr2, num));return 0;
}

4.结果;

5.my_strncpy的实现

以num给定的数 复制源字符串到目的地上;

//模拟实现strncpy
char* my_strncpy(char* dest, char* sour, size_t num)
{char* p = dest;while (num){*dest++ = *sour++;num--;}return p;
}
int main()
{char arr1[30] = "abcdef";char arr2[20] = "ghij";int num = 4;printf("%s\n", my_strncpy(arr1, arr2, num));return 0;
}

strcpy与strncpy的实现相关推荐

  1. strcpy和memcpy的区别 | strcpy和strncpy的区别

    strcpy和memcpy都是标准C库函数,它们有下面的特点. strcpy提供了字符串的复制.即strcpy只用于字符串复制,并且它不仅复制字符串内容之外,还会复制字符串的结束符. 已知strcpy ...

  2. strcpy和strncpy区别 memcpy strcpy strncpy lstrcpy lstrncpy wstrcpy, memmove

    strcpy和strncpy区别(2009-04-27 15:48:52) 转载标签:杂谈 分类:C++/C 第一种情况: char* p="how are you ?"; cha ...

  3. C语言 - strcpy和strncpy的编程实现及总结

    一.字符串的strcpy与strncpy函数 1.编程实现strcpy函数(笔试很容易考到) 要求: 原型:char *stpcpy(char *strDest,char *strSrc); 头文件: ...

  4. strcpy()与strncpy()的区别

    头文件:#include <string.h> strcpy() 函数用来复制字符串,其原型为: char *strcpy(char *dest, const char *src); [参 ...

  5. strcpy()、strncpy()函数

    本片博客简单写下关于strcpy().strncpy()两函数的用法.区别及使用时需要注意的地方. 一.使用介绍 1. strcpy()函数用法 char * strcpy ( char * dest ...

  6. stpcpy和stpncpy用法 strcpy和strncpy用法

    文章目录 strncpy, strncpy_s参考文档用法 strcpy, strncpy实例 strcpy, strncpy用法举例 运行结果 stpcpy()和stpncpy()用法上的区别(C语 ...

  7. strcpy和strncpy用法和区别

    1. strcpy函数: 顾名思义字符串复制函数:原型:extern char *strcpy(char *dest,char *src); 功能:把从src地址开始且含有NULL结束符的字符串赋值到 ...

  8. strcpy与strncpy的安全版本

    char* src = new char[10]; memset(src, 1, 10); char* dest = new char[20]; strcpy(dest, src); 在这个例子中,我 ...

  9. C语言——数组、字符串处理函数、strlen、strcpy和strncpy、strcat和strncat、strcmp和strncmp

    目录 一.数组 1.定义:类型 数组名[元素个数] 2.数组不能动态定义 3.如何访问数组中的元素:数组名[下标] 4.循环与数组的关系 5.数组的初始化 二.C99标准中的数组 三.字符串处理函数 ...

  10. strcpy和strncpy的使用以及strcpy的模拟实现(三种方法)

    前言:Hello!大家好,我是@每天都要敲代码:上一讲对于strlen库函数的使用和三种模拟实现方法相信大家都很熟悉了,strlen库函数是用来求字符串的长度,遇到'\0'终止:所需头文件是<s ...

最新文章

  1. Vue-router(三) 参数传递
  2. 用VB.net开发.NET Micro Framework
  3. tensorflow 读取cifar_浅入浅出TensorFlow 4 - 训练CIFAR数据
  4. 解决报错: Connecting to Kong on http ... Could not reach Kong on http://xxx.xxx.xxx.xxx:8001
  5. Gallery:收集一些用于展示一组图片的javascript控件
  6. Bezier(贝塞尔)曲线的轨迹规划在自动驾驶中的应用(二)
  7. iPhone 11终于没涨价但依然暴利 外媒:64GB起始容量就是个笑话
  8. bokeh python_Python Bokeh数据可视化教程
  9. 4、根据前序和中序,重建二叉树
  10. php圆角的度数计算公式,弧度和角度的换算器(度数换算计算器)
  11. android自动计步_Android计步模块实例代码(类似微信运动)
  12. 【CSS手册】css
  13. 初等变换:矩阵与行列式
  14. 如何使用自己的云服务器做代理服务器
  15. kubeadm部署kubernetes
  16. 7. django应用及分布式路由
  17. pytorch中的神经网络模块基础类——torch.nn.Module
  18. flannel 介绍(UTP、VXLAN、Host Gateway模式详解)
  19. 视频加密大全服务条款
  20. 【ansys workbench】1.零件分析基本思路讲解

热门文章

  1. 清华姚班学生ICML一人署名论文:协作学习的鲁棒性方法
  2. 十年Java架构师分享
  3. 如何做到两台电脑网线直连
  4. handler相关学习(三)handler必背
  5. 《Android开发源码精编解析》最新PDF版开源,安卓工程师进阶实战
  6. linux解压xz文件
  7. 荣耀十支持鸿蒙OS,不是所有华为荣耀手机都能升级华为鸿蒙OS,只有这48款才行...
  8. 计算机系统未来发展方向论文,浅谈计算机未来发展趋势(期末论文)
  9. plsql连接远程数据库时报ORA-01017:用户名、口令无效;登录被拒绝
  10. Navicat Premium 12.0.22安装与激活