memcpy函数
来源:互联网 发布:plc的常用编程语言 编辑:程序博客网 时间:2024/05/17 21:55
本文一部分转自某人博客:(因为我转的这人也是转别人的所以我就不再贴链接了);
还有一部分摘自百度百科: http://baike.baidu.com/view/736225.htm?fr=aladdin
c和c++使用的内存拷贝函数,memcpy函数的功能是从源src所指的内存地址的起始位置开始拷贝n个字节到目标dest所指的内存地址的起始位置中。
void *memcpy(void *dest, const void *src, int n);
功能:从源src所指的内存地址的起始位置开始拷贝n个字节到目标dest所指的内存地址的起始位置中
头文件:
C语言中使用 :#include <string.h>;
C++中使用 :#include <cstring>和#include <string.h>都可以。
函数返回一个指向dest的指针。
1.source和destin所指内存区域不能重叠,函数返回指向destin的指针。
2.与strcpy相比,memcpy并不是遇到'\0'就结束,而是一定会拷贝完n个字节。
3.如果目标数组destin本身已有数据,执行memcpy()后,将覆盖原有数据(最多覆盖n)。如果要追加数据,则每次执行memcpy后,要将目标数组地址增加到你要追加数据的地址。
//注意,source和destin都不一定是数组,任意的可读写的空间均可。---wk
程序例:
example1 作用:将s中的字符串复制到字符数组d中。 // memcpy.c
#include <stdio.h>#include <string.h>int main(){ char *s="Golden Global View"; char d[20]; memcpy(d,s,strlen(s)); d[strlen(s)]='\0'; //因为从d[0]开始复制,总长度为strlen(s),d[strlen(s)]置为结束符 printf("%s",d); getchar(); return 0;}//输出结果:Golden Global View
example2 作用:将s中第14个字符开始的4个连续字符复制到d中,(从0开始)
#include <cstdio>#include <cstring>int main(){ char *s="Golden Global View"; char d[20]; memcpy(d,s+14,4); //从第14个字符(V)开始复制,连续复制4个字符(View) //memcpy(d,s+14*sizeof(char),4*sizeof(char));也可 d[4]='\0'; printf("%s",d); getchar(); return 0;}//输出结果: View
example3 作用:复制后覆盖原有部分数据
#include <cstdio>#include <cstring>int main(){ char src[] = "******************************"; char dest[] = "abcdefghijlkmnopqrstuvwxyz0123as6"; printf("destination before memcpy: %s\n", dest);memcpy(dest, src, strlen(src));printf("destination after memcpy: %s\n", dest);return 0;}//输出结果: destination before memcpy: abcdefghijlkmnopqrstuvwxyz0123as6// destination after memcpy: ******************************as6
与strcpy函数的区别:
strcpy和memcpy主要有以下3方面的区别。
最后再贴三个链接
sscanf 的百度百科:http://baike.baidu.com/view/1364018.htm?fr=aladdin
atoi的百度百科: http://baike.baidu.com/view/653935.htm?fr=aladdin
atoi的讲解: http://blog.csdn.net/youbang321/article/details/7887990
- memcpy函数
- memcpy函数
- memcpy () 函数
- memcpy函数
- memcpy函数
- memcpy函数
- memcpy()函数
- memcpy 函数
- memcpy函数
- memcpy函数
- memcpy()函数
- memcpy函数
- memcpy函数
- memcpy函数
- memcpy 函数
- 函数 memcpy
- memcpy函数
- memcpy 函数
- Codeforces #261 (Div. 2) C. Pashmak and Buses(数学)
- IDempiere入门第二篇杂七杂八(郑州就维软件)
- ACM 91. [NOIP2000] 方格取数(多线程dp)
- 自定义打印输出函数格式,模拟printf函数
- Common Subsequence
- memcpy函数
- 报表引擎交叉表的报表设计示例
- 工作日志2014-08-15
- shell 指令
- 中博培训2014.8.15
- Ruby on Rails 常用web容器
- 【精心整理】【实用】visual C++中最常用的类与API函数
- CentOS6.5下MySQL主从同步配置
- 初步接触IOCP