模拟实现memmove
来源:互联网 发布:webform做数据库分页 编辑:程序博客网 时间:2024/06/07 05:37
memmove的实现要考虑内存重叠的情况
#include<stdio.h>#include<assert.h>#include<windows.h>#pragma warning (disable:4996)void *my_memmove(void *dst, const void *src, int count){assert(dst);assert(src);assert(count > 0);char *ret = dst;if (src >= dst || (char*)dst >= (char*)src + count){while (count-->0){*(char*)dst = *(char*)src;dst = (char*)dst + 1;src = (char*)src + 1;}}else//逆序{char *dst_end = *(char*)dst + count - 1;char *src_end = *(char*)src + count - 1;while (count-->0){*dst_end = *src_end;dst_end--;src_end--;}}return ret;}int main(){char msg[] = "asde123";char mag[32];int count = strlen(msg) + 1; my_memmove(mag, msg, count);printf("%s\n", mag);system("pause");return 0;}
1 0
- 模拟实现memmove函数
- 模拟实现memmove
- 模拟实现 memmove
- 模拟实现memmove函数。
- 模拟实现memmove
- 模拟实现memmove函数
- 模拟实现memmove
- 模拟实现memcopy()/memmove()
- 模拟实现memmove函数
- 模拟实现memmove函数
- C语言:模拟实现memmove
- c语言模拟实现memmove
- 【C语言】模拟实现memmove
- 模拟实现memcpy/memmove/memset
- 模拟实现memcpy memmove 函数
- C语言 模拟实现memmove
- 模拟实现memcpy,memmove,memset
- 模拟实现strstr,memcpy,memmove
- [leetcode]400. Nth Digit
- swift 学习笔记(23)-属性(属性观察器)
- 初次在本地IIS上发布网站遇到的问题
- JS产生随机数的几个用法!
- 全志A20在linux下,交叉编译inetutils工具支持telnet登陆
- 模拟实现memmove
- C代码中如何调用C++ C++中如何调用C
- list只能循环最后一条数据,是怎么回事
- 每日一题(5):poj2485, Highways
- list只能循环最后一条数据,是怎么回事
- UML类图详细介绍
- 计算机组成原理第二版(唐朔飞)5个实验
- POJ 2195 最小费用流
- hdu1010