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

面试题 相关文章推荐
Java中有几种方法可以实现一个线程?用什么关键字修饰同步方法?stop()和suspend()方法为何不推荐使用?
Aug 04 面试题
介绍一下内联、左联、右联
Dec 31 面试题
几道数据库的面试题或笔试题
May 31 面试题
托管代码(Managed Code)和非托管代码(Unmanaged Code)有什么区别
Sep 29 面试题
.net C#面试题
Aug 28 面试题
什么是索引指示器
Aug 20 面试题
Shell如何接收变量输入
Sep 24 面试题
do you have any Best Practice for testing
Jun 04 面试题
面向对象设计的原则是什么
Feb 13 面试题
EJB实例的生命周期
Oct 28 面试题
Java程序员面试题
Sep 27 面试题
介绍下java.util.Arrays类
Oct 16 面试题
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函数strip_tags的一个bug浅析
2014/05/22 PHP
PHP ignore_user_abort函数详细介绍和使用实例
2014/07/15 PHP
php中strstr、strrchr、substr、stristr四个函数的区别总结
2014/09/22 PHP
PHP消息队列用法实例分析
2016/02/12 PHP
JS获取scrollHeight问题想到的标准问题
2007/05/27 Javascript
TopList标签和JavaScript结合两例
2007/08/12 Javascript
js简单实现交换Li的值
2014/05/22 Javascript
jQuery 动态云标签插件
2014/11/11 Javascript
javascript实现随时变化着的背景颜色
2015/04/02 Javascript
深入学习JavaScript的AngularJS框架中指令的使用方法
2016/03/05 Javascript
JavaScript字符串常用的方法
2016/03/10 Javascript
js解决movebox移动问题
2016/03/29 Javascript
jQuery遍历DOM元素与节点方法详解
2016/04/14 Javascript
JavaScript遍历Json串浏览器输出的结果不统一问题
2016/11/03 Javascript
理解 javascript 中的函数表达式与函数声明
2017/07/07 Javascript
微信小程序用户自定义模版用法实例分析
2017/11/28 Javascript
vue 1.0 结合animate.css定义动画效果
2018/07/11 Javascript
CKeditor富文本编辑器使用技巧之添加自定义插件的方法
2019/06/14 Javascript
简单了解JavaScript中的执行上下文和堆栈
2019/06/24 Javascript
Vue学习笔记之计算属性与侦听器用法
2019/12/07 Javascript
基于 Vue 的 Electron 项目搭建过程图文详解
2020/07/22 Javascript
python正则表达式中的括号匹配问题
2014/12/14 Python
python tensorflow学习之识别单张图片的实现的示例
2018/02/09 Python
Python实现仿射密码的思路详解
2020/04/23 Python
css3使用animation属性实现炫酷效果(推荐)
2020/02/04 HTML / CSS
五星级酒店餐饮部总监的标准岗位职责
2014/02/17 职场文书
搞笑的爱情检讨书
2014/10/01 职场文书
刑事和解协议书范本
2014/11/19 职场文书
考研英语复习计划
2015/01/19 职场文书
诚信承诺书
2015/01/19 职场文书
会计求职信怎么写
2015/03/20 职场文书
2016年小学生寒假家长评语
2015/10/10 职场文书
2016春季运动会前导词
2015/11/25 职场文书
html+css合并表格边框的示例代码
2021/03/31 HTML / CSS
MySQL8.0.24版本Release Note的一些改进点
2021/04/22 MySQL
Python中的xlrd模块使用整理
2021/06/15 Python