memcpy和strcpy的区别

  • strcpy和memcpy主要有以下3方面的区别
    • 复制的内容不同
    • 用途不同
    • 从s1复制字符串到s2strncpy和memcpy很相似,只不过它在一个终止的空字符处停止。

strcpy和memcpy主要有以下3方面的区别

复制的内容不同

strcpy只能复制字符串,而memcpy可以复制任意内容,例如字符数组、整型、结构体、类等。
复制的方法不同。strcpy不需要指定长度,它遇到被复制字符的串结束符"\0"才结束,如果空间不够,就会引起内存溢出。memcpy则是根据其第3个参数决定复制的长度。

用途不同

通常在复制字符串时用strcpy,而需要复制其他类型数据时则一般用memcpy,由于字符串是以“\0”结尾的,所以对于在数据中包含“\0”的数据只能用memcpy。

从s1复制字符串到s2strncpy和memcpy很相似,只不过它在一个终止的空字符处停止。

当n>strlen(s1)时,给s2不够数的空间里填充“\0”(n为s2的空间大小);当n<=strlen(s1)时,s2是没有结束符“\0”的,所以使用strncpy时,确保s2的最后一个字符是“\0”。

memcpy和strcpy的区别 ?相关推荐

  1. C语言 memcpy 和 strcpy 函数区别 - C语言零基础入门教程

    目录 一.memcpy 函数/strcpy 函数简介 二.memcpy 函数/strcpy 函数实战 1.strcpy 函数属于字符串拷贝 2.memcpy 函数属于内存拷贝 三.猜你喜欢 零基础 C ...

  2. [收集] C++ memset ,memcpy 和strcpy 的区别

    Memset  用来对一段内存空间全部设置为某个字符,一般用在对定义的字符串进行初始化为' '或'\0': 例:char a[100];memset(a, '\0', sizeof(a)); mems ...

  3. memcpy和strcpy的区别及memcmp和strcmp的区别

    strcpy与memcpy的区别: strcpy的原型:char *strcpy(char *dest, const char *src) strcpy是拷贝字符串.①不指定长度②以\0为标志结束(即 ...

  4. 拷贝函数memcpy和strcpy的用法及区别

    memcpy和strcpy的区别 memecpy拷贝,是内存之间的拷贝.strcpy是字符串的拷贝 memcpy按位拷贝 int main() {int ar[10] = { 12, 23, 34, ...

  5. c语言memcpy与strcpy,C语言:strcpy()和memcpy()

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

  6. memcpy和memmove的区别以及内存重叠问题

    memcpy和memmove的区别以及内存重叠问题 转自:https://www.codecomeon.com/posts/89/ 区别 memcpy() 和 memmove() 都是C语言中的库函数 ...

  7. strncpy函数详解看这一篇就够了-C语言(函数实现、使用用法举例、与strcpy的区别)

    首先要明确strncpy的功能是:拷贝src字符串的前n个字符至dest 目录 函数介绍 与strcpy的区别 函数实现: 用法示例: 结果展示: 函数介绍 函数原型: char *strncpy(c ...

  8. memset,memcpy,strcpy 的区别

    一.函数原型 strcpy extern char *strcpy(char *dest,char *src); #include <string.h> 功能:把src所指由NULL结束的 ...

  9. strcpy、memcpy和memset的区别

    strcpy 原型:extern char *strcpy(char *dest,char *src); 用法:#include <string.h> 功能:把src所指由NULL结束的字 ...

最新文章

  1. 100例shell脚本之八远程管理获得hosts ip以及推送公钥到hosts
  2. OpenCart之商品管理教程
  3. javascript:document对象的常用属性和方法
  4. SpringMVC学习总结(2)——SpringMVC返回json配置
  5. 反汇编RETN 0x0c的理解
  6. 4行代码解决:L1-057 PTA使我精神焕发 (5分)
  7. php 微信定位,微信企业号(服务号)坐标定位发生偏移解决方案记录( 附PHP代码)...
  8. shell shift与{}_一文掌握shell脚本中shift的用法及功能
  9. 第四篇:new和delete的基本用法
  10. html属于什么数据类型,javascript包括哪些数据类型?
  11. Android开发笔记(二十一)横幅轮播页Banner
  12. Go 并发 多线程 goroutine channel 实例
  13. TCP/IP协议中IP数据保报文格式详解
  14. 修改 apk 默认的安装位置(不需要 Root)
  15. pillow软件 Android,Pillow自动睡眠追踪
  16. 测试自动化的三波浪潮
  17. 网页设计作业-HTML5+CSS大作业——端午节日(25页) 图片滚动
  18. linux桌面分辨率太高,将Ubuntu调整到高DPI分辨率屏幕
  19. 无法建立与远程计算机连接,解决“不能建立到远程计算机的连接,因此用于此...”的方法_常见问题解析...
  20. “如果你害怕成为陈冠希,彻底删除文件工具来帮你”--彻底删除文件(File Delete Absolutely)1.02发布...

热门文章

  1. cubemx 读卡器_cubeMX 之 SD卡读写
  2. python 内网镜像站_搭建私有YUM仓库与内网镜像站
  3. 如何学习Java? 在学习Java的过程中需要掌握哪些技能?
  4. CSS三个非常重要的特性分享!
  5. python已知Camera及Lidar2到Lidar1外参,求Camera到Lidar2外参
  6. 获取以逗号分隔的多个数据输入成列表,计算基本统计值(平均值、标准差、中位数)‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬
  7. 《编译原理》第三章知识点
  8. VTK:点定位器用法实战
  9. VTK:绘制截锥体用法实战
  10. opengl加载显示3D模型SMD类型文件