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

面试题 相关文章推荐
List, Set, Map是否继承自Collection接口?
May 16 面试题
Web Service面试题:如何搭建Axis2的开发环境
Jun 20 面试题
抽象方法、抽象类怎样声明
Oct 25 面试题
extern在函数声明中是什么意思
Jan 19 面试题
什么是Assembly(程序集)
Sep 14 面试题
C#怎么让一个窗口居中显示?
Oct 20 面试题
const和static readonly区别
May 20 面试题
几个Shell Script面试题
Aug 31 面试题
27个经典Linux面试题及答案,你知道几个?
Jan 10 面试题
为什么需要版本控制?
Aug 08 面试题
什么是GWT的Entry Point
Aug 16 面试题
Java如何调用外部Exe程序
Jul 04 面试题
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
ThinkPHP3.2.2的插件控制器功能简述
2014/07/09 PHP
php实现的XML操作(读取)封装类完整实例
2017/02/23 PHP
Laravel如何使用Redis共享Session
2018/02/23 PHP
url地址自动加#号问题说明
2010/08/21 Javascript
图片轮换效果实现代码(点击按钮停止执行)
2013/04/12 Javascript
javascript 实现键盘上下左右功能的小例子
2013/09/15 Javascript
JavaScript判断是否为数组的3种方法及效率比较
2015/04/01 Javascript
window.onerror()的用法与实例分析
2016/01/27 Javascript
实践中学习AngularJS表单
2016/03/21 Javascript
Knockout结合Bootstrap创建动态UI实现产品列表管理
2016/09/14 Javascript
js创建对象几种方式的优缺点对比
2016/09/28 Javascript
Javascrip实现文字跳动特效
2016/11/27 Javascript
详解如何用babel转换es6的class语法
2018/04/03 Javascript
解决layui轮播图有数据不显示的情况
2019/09/16 Javascript
js将URL网址转为16进制加密与解密函数
2020/03/04 Javascript
JS函数本身的作用域实例分析
2020/03/16 Javascript
Vue SSR 即时编译技术的实现
2020/05/06 Javascript
Python sys.path详细介绍
2013/10/17 Python
解决Python对齐文本字符串问题
2019/08/28 Python
python+openCV对视频进行截取的实现
2020/11/27 Python
PyCharm Ctrl+Shift+F 失灵的简单有效解决操作
2021/01/15 Python
HTML5之SVG 2D入门10—滤镜的定义及使用
2013/01/30 HTML / CSS
欧洲著名的珠宝和手表网上商城:uhrcenter
2017/04/10 全球购物
银行财务部实习生的自我鉴定
2013/11/27 职场文书
物业门卫岗位职责
2013/12/28 职场文书
办理暂住证介绍信
2014/01/11 职场文书
高一英语教学反思
2014/01/22 职场文书
大专毕业自我鉴定
2014/02/04 职场文书
无偿献血倡议书
2014/04/14 职场文书
反腐倡廉警示教育活动总结
2014/05/05 职场文书
优秀会计求职信
2014/07/04 职场文书
房产协议书范本
2014/10/18 职场文书
保研专家推荐信范文
2015/03/25 职场文书
客户经理岗位职责大全
2015/04/09 职场文书
Vue-Element-Admin集成自己的接口实现登录跳转
2021/06/23 Vue.js
使用feign服务调用添加Header参数
2021/06/23 Java/Android