求memcpy的应用实例,谢谢

来源:学生作业帮助网 编辑:作业帮 时间:2024/04/29 01:41:10
求memcpy的应用实例,谢谢

求memcpy的应用实例,谢谢
求memcpy的应用实例,谢谢

求memcpy的应用实例,谢谢
mem开头的函数基本上都是对内存操作的,
他们是不理内存里放的是什么数据,只要给出长度,他们就操作.
不想strcpy、strcmp等函数一定以'\0'结尾,而且是字符.
mem可以操作可见字符、不可见字符、控制字符等反正是任意数据都可以.
memcpy是复制函数
原形是
extern void *memcpy(void *dest,void *src,unsigned int count);
就是把src指向的内存复制count长度到dest
比如:
char a[10]={0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09};
char b[5];
memcpy(b,a,5);
执行完后b={0x00,0x01,0x02,0x03,0x04}
memcpy(b,a,4);
执行完后b=={0x00,0x01,0x02,0x03,这个随机}
memcpy(b,a,10);
这个语句有些编译器在编译时给警告,编译可以通过.
执行时可能程序崩溃,因为内存反问非法,因为b定义时长度就5,这里复制了长度为10,超出了b的长度,但memcpy会照样复制过去,这时系统的安全机制就会触发,产生一个内存反问中断.程序就掉出来了