博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
strcpy、sprintf、memcpy的区别
阅读量:5254 次
发布时间:2019-06-14

本文共 479 字,大约阅读时间需要 1 分钟。

char*strcpy(char *dest, const char *src);

其对字符串进行操作,完成从源字符串到目的字符串的拷贝,当源字符串的大小大于目的字符串的最大存储空间后,执行该操作会出现段错误。

int sprintf(char*str, const char *format, ...)

函数操作的源对象不限于字符串:源对象可以是字符串、也可以是任意基本类型的数据。主要是实现将其他数据类型转换为字符串

void *memcpy(void*dest, const void *src, size_t n)

实现内存的拷贝,实现将一块内存拷贝到另一块内存。该函数对源对象与目的对象没有类型现在,只是对内存的拷贝

但是在软件升级中,当接收到网络传送的升级内容后,进行数据拷贝时,最好使用memcpy来进行数据的拷贝。因为strcpy、sprintf进行拷贝时,当检查到源字符串中有’\0’即ascii码为00)时,即认为数据结束符,就会停止拷贝

转载于:https://www.cnblogs.com/Ph-one/p/8545291.html

你可能感兴趣的文章
ssh(安全外壳协议)
查看>>
python基础_特殊符号
查看>>
关于Java序列化和Hadoop的序列化
查看>>
创建线程的三种方式
查看>>
docker rancher 体验 (未完待续.....)
查看>>
10反射
查看>>
Android操作Sqlite数据库
查看>>
opencv 鼠标交互
查看>>
iOS之地图开发
查看>>
[Swift]LeetCode1015. 可被 K 整除的最小整数 | Smallest Integer Divisible by K
查看>>
[Swift]LeetCode1124. 表现良好的最长时间段 | Longest Well-Performing Interval
查看>>
[Swift]LeetCode942. 增减字符串匹配 | DI String Match
查看>>
Pascal代码自动格式化
查看>>
蔡康永的说话之道2-透过说话,懂得把别放在心上
查看>>
计算机网络设备之交换机和路由器
查看>>
软件工程(2019)结对编程第一次作业
查看>>
[SCSS] Loop Over Data with the SCSS @each Control Directive
查看>>
[Node.js] Use "prestart" in scripts
查看>>
[AngularJS] ngCloak
查看>>
spring boot 和 mybatis集成
查看>>