C++:memset ,memcpy和strcpy的根本区别


Posted in 面试题 onApril 27, 2013
#include “memory.h”
memset用来对一段内存空间全部设置为某个字符,一般用在对定义的字符串进行初始化为‘ ‘或‘\0′;例:char a[100];memset(a, ‘\0′, sizeof(a));
memcpy用来做内存拷贝,你可以拿它拷贝任何数据类型的对象,可以指定拷贝的数据长度;例:char a[100],b[50]; memcpy(b, a, sizeof(b));注意如用sizeof(a),会造成b的内存地址溢出。
strcpy就只能拷贝字符串了,它遇到’\0′就结束拷贝;例:char a[100],b[50];strcpy(a,b);如用strcpy(b,a),要注意a中的字符串长度(第一个‘\0′之前)是否超过50位,如超过,则会造成b的内存地址溢出。
strcpy
原型:extern char *strcpy(char *dest,char *src);
用法:#include
功能:把src所指由NULL结束的字符串复制到dest所指的数组中。
说明:src和dest所指内存区域不可以重叠且dest必须有足够的空间来容纳src的字符串。
返回指向dest的指针。
memcpy
原型:extern void *memcpy(void *dest, void *src, unsigned int count);
用法:#include
功能:由src所指内存区域复制count个字节到dest所指内存区域。
说明:src和dest所指内存区域不能重叠,函数返回指向dest的指针。
Memset
原型:extern void *memset(void *buffer, char c, int count);
用法:#include
功能:把buffer所指内存区域的前count个字节设置成字符c。
说明:返回指向buffer的指针。

Tags in this post...

面试题 相关文章推荐
编写类String 的构造函数、析构函数和赋值函数
Sep 09 面试题
以思科路由器为例你写下单臂路由的配置命令
Aug 03 面试题
能否解释一下XSS cookie盗窃是什么意思
Jun 02 面试题
静态成员和非静态成员的区别
May 12 面试题
常用UNIX 命令(Linux的常用命令)
Jul 10 面试题
介绍一下linux的文件系统
Oct 06 面试题
一套软件开发工程师笔试题
May 18 面试题
Ajax主要包含了哪些技术
Jun 12 面试题
Python面试题:如何用Python来发送邮件
Mar 15 面试题
Java语言的优势
Jan 10 面试题
95%的面试官都会问到的50道Java线程题,附答案
Aug 03 面试题
北京捷通华声语音技术有限公司Java软件工程师笔试题
Apr 10 面试题
C++的几个面试题附答案
Aug 03 #面试题
为什么会有内存对齐
Oct 10 #面试题
数组越界问题
Oct 21 #面试题
static全局变量与普通的全局变量有什么区别?static局部变量和普通局部变量有什么区别?static函数与普通函数有什么区别?
Feb 22 #面试题
介绍一下#error预处理
Sep 25 #面试题
const char*, char const*, char*const的区别是什么
Jul 09 #面试题
雅虎笔试题(字符串操作)
Mar 24 #面试题
You might like
探讨:如何使用PHP实现计算两个日期间隔的年、月、周、日数
2013/06/13 PHP
php接口和抽象类使用示例详解
2014/03/02 PHP
PHP实现查询两个数组中不同元素的方法
2016/02/23 PHP
使用PHPMailer发送邮件实例
2017/02/15 PHP
网页javascript精华代码集
2007/01/24 Javascript
jquery如何通过name名称获取当前name的value值
2013/12/20 Javascript
用jquery仿做发微博功能示例
2014/04/18 Javascript
JavaScript判断表单中多选框checkbox选中个数的方法
2015/08/17 Javascript
JS实现日期时间动态显示的方法
2015/12/07 Javascript
jquery validate表单验证的基本用法入门
2016/01/18 Javascript
JS 对象(Object)和字符串(String)互转方法
2016/05/20 Javascript
微信小程序tabBar底部导航中文注解api详解
2017/08/16 Javascript
Angular 4.0学习教程之架构详解
2017/09/12 Javascript
node.js学习笔记之koa框架和简单爬虫练习
2018/12/13 Javascript
一个因@click.stop引发的bug的解决
2019/01/08 Javascript
Vue form表单动态添加组件实战案例
2019/09/02 Javascript
Angular8 实现table表格表头固定效果
2020/01/03 Javascript
JavaScript前后端JSON使用方法教程
2020/11/23 Javascript
[53:10]完美世界DOTA2联赛决赛日 FTD vs GXR 第二场 11.08
2020/11/11 DOTA
python实现根据月份和日期得到星座的方法
2015/03/27 Python
PyMongo安装使用笔记
2015/04/27 Python
python控制台中实现进度条功能
2015/11/10 Python
Python+matplotlib实现计算两个信号的交叉谱密度实例
2018/01/08 Python
利用Python如何将数据写到CSV文件中
2018/06/05 Python
python之pymysql模块简单应用示例代码
2019/12/16 Python
Python 制作查询商品历史价格的小工具
2020/10/20 Python
Restful_framework视图组件代码实例解析
2020/11/17 Python
使用CSS3编写灰阶滤镜来制作黑白照片效果的方法
2016/05/09 HTML / CSS
解决html5中的video标签ios系统中无法播放使用的问题
2020/08/10 HTML / CSS
抽象类和接口的区别
2012/09/19 面试题
精选干货:Java精选笔试题附答案
2014/01/18 面试题
投资合作协议书
2014/04/17 职场文书
初三语文教学计划
2015/01/22 职场文书
2015年百日安全活动总结
2015/03/26 职场文书
SQLServer之常用函数总结详解
2021/08/30 SQL Server
如何使用SQL Server语句创建表
2022/04/12 SQL Server