模拟实现memcpy和memmmove
来源:互联网 发布:mysql 子查询不走索引 编辑:程序博客网 时间:2024/05/18 03:05
模拟实现memcpy#include <stdio.h>#include <windows.h>#include <stdlib.h>#include <assert.h>void* my_memcpy(void* dest, const void* src,size_t count){ void *ret = dest; assert(dest); assert(src); while(count) { *(char *)dest = *(char *)src; dest = (char *)dest+1; src = (char *)src+1; count--; } return ret;}int main(){ char arr[] = {"1234567890"}; char str[] = {"adasj ?"}; int sz = sizeof(arr)/sizeof(arr[0]); int i=0; char *ret=my_memcpy(arr,str,7); printf("%s\n",ret); system("pause"); return 0;}模拟实现memmove#include<stdio.h>#include<stdlib.h>#include<assert.h>#include<string.h>void *my_memmove(void *dest,const void *src,size_t count){ void *ret = dest; assert(dest); assert(src); if((src<dest)&&((char*)dest<(char*)src+count)) { while(count--) { *((char*)dest+count)=*((char*)src+count); } } else { while(count--) { *(char*)dest=*(char*)src; dest=(char*)dest+1; src=(char*)src+1; } } return ret;}int main(){ int i=0; int arr[]={1,2,3,4,5,6,7,8,9,0}; int sz=sizeof(arr)/sizeof(arr[0]); my_memmove(arr+3,arr,4*sizeof(int)); for(i=0;i<sz;i++) { printf("%d ",arr[i]); } system("pause"); return 0;}
0 0
- 模拟实现memcpy和memmmove
- 模拟实现memcpy和memove
- 模拟实现memcpy和memmove函数
- memcpy和memmove的模拟实现
- memcpy和memmove的模拟实现
- 模拟实现memcpy和memmove函数
- C语言模拟实现memcpy和memmove
- 模拟实现memcpy函数
- 模拟实现memcpy
- 模拟实现memcpy函数
- 模拟实现memcpy
- memcpy函数和memmove函数的模拟实现与区别
- day26之模拟实现memcpy和memmove函数
- 模拟实现C库的memcpy和memmove。
- 模拟实现C库的memmove和memcpy
- 模拟实现C库函数:strchr、strcmp、strstr、memcpy和memmove
- C语言:模拟实现memcpy
- 模拟实现memcpy/memmove/memset
- MATLAB代码优化
- 回调函数
- Android学习笔记(十一):关于List<Map<String,?>>中添加map
- Hadoop分布式文件系统HDFS的工作原理详述
- SSH环境搭建(hibernate5.2.1,spring 4.2)
- 模拟实现memcpy和memmmove
- 矩阵填数的变相应用
- 多线程的代价及上下文切换
- 【ITOO】MVC简单介绍
- 排序
- 关于php的?:
- nova snapshot
- 网易16年研发笔试题 - 扫描透镜
- Ceres solver