复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23#include<stdio.h> #include<windows.h> void *my_memcpy(void *arr1,const void *arr,size_t count) { void *ret=arr1; while (count--) { *(char*)arr1 =*(char*) arr; arr1 = (char*)arr1 + 1; arr = (char*)arr + 1; } return ret; } int main() { char arr[32] = "abcde"; char arr1[32] = { 0 }; int num = 3; char *str=my_memcpy(arr1, arr,num); printf("%sn",str); system("pause"); return 0; }
函数算法思想:
用两个数组分别表示两个字符串,一个为空,一个为“abcde”,定义两个void*型的指针,void *arr1,void *arr,再定义一个size_t count,来表示需要拷贝的位数,本例中用的三位。
然后使用while拷贝三位,用count作为判断条件,当count为0的时候,退出循环,再将得到的字符串打印出来。
最后
以上就是细心爆米花最近收集整理的关于模拟实现memcpy函数的全部内容,更多相关模拟实现memcpy函数内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复