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...

面试题 相关文章推荐
如何启动时不需输入用户名与密码
May 09 面试题
Java提供了哪些企业应用编程接口
Feb 13 面试题
是什么让J2EE适合用来开发多层的分布式的应用
Jan 16 面试题
一套Java笔试题
Aug 20 面试题
介绍一下#error预处理
Sep 25 面试题
CLR与IL分别是什么含义
Aug 23 面试题
应届生.NET方向面试题
May 23 面试题
Internet体系结构
Dec 21 面试题
傲盾软件面试题
Aug 17 面试题
Java里面Pass by value和Pass by Reference是什么意思
May 02 面试题
Servlet如何得到客户端机器的信息
Oct 17 面试题
Servlet的生命周期
Aug 25 面试题
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使用多个进程同时控制文件读写示例
2014/02/28 PHP
yii2.0实现创建简单widgets示例
2016/07/18 PHP
postfixadmin忘记密码后的修改密码方法详解
2016/07/20 PHP
PHP递归获取目录内所有文件的实现方法
2016/11/01 PHP
PHP面向对象之工作单元(实例讲解)
2017/06/26 PHP
完美解决Thinkphp3.2中插入相同数据的问题
2017/08/01 PHP
thinkphp ajaxfileupload实现异步上传图片的示例
2017/08/28 PHP
JQUERY 对象与DOM对象之两者相互间的转换
2009/04/27 Javascript
在线一元二次方程计算器实例(方程计算器在线计算)
2013/12/22 Javascript
JavaScript的null和undefined区别示例介绍
2014/09/15 Javascript
最新最热最实用的15个jQuery插件汇总
2015/07/05 Javascript
javascript实现获取浏览器版本、浏览器类型
2015/12/02 Javascript
深入浅出ES6新特性之函数默认参数和箭头函数
2016/08/01 Javascript
js点击按钮实现水波纹效果代码(CSS3和Canves)
2016/09/15 Javascript
限时抢购-倒计时的完整实例(分享)
2017/09/17 Javascript
JS在if中的强制类型转换方式
2018/07/15 Javascript
vue实现图片预览组件封装与使用
2019/07/13 Javascript
layui默认选中table的CheckBox复选框方法
2019/09/19 Javascript
vscode调试node.js的实现方法
2020/03/22 Javascript
python多线程编程中的join函数使用心得
2014/09/02 Python
Python中非常实用的一些功能和函数分享
2015/02/14 Python
Python中一些不为人知的基础技巧总结
2018/05/19 Python
Python秒算24点实现及原理详解
2019/07/29 Python
使用Tensorflow将自己的数据分割成batch训练实例
2020/01/20 Python
Python爬虫工具requests-html使用解析
2020/04/29 Python
Python如何截图保存的三种方法(小结)
2020/09/01 Python
Visual Studio code 配置Python开发环境
2020/09/11 Python
英国山地公路自行车商店:Tweeks Cycles
2018/03/16 全球购物
MyHeritage美国:家族史研究和DNA测试的领先服务
2019/05/27 全球购物
Jack Rogers官网:美国经典的女性鞋靴品牌
2019/09/04 全球购物
杠杆的科学教学反思
2014/01/10 职场文书
群众路线个人整改措施
2014/10/24 职场文书
挂职锻炼个人总结
2015/03/05 职场文书
2015年教师节感恩寄语
2015/03/23 职场文书
2016年领导干部廉政承诺书
2016/03/24 职场文书
Go缓冲channel和非缓冲channel的区别说明
2021/04/25 Golang