#include<stdio.h>
//实现memmove:从 str2 复制 n 个字符到 str1
void* Memmove(void *dst, const void *src, size_t count) {
void* ret = dst;
if (dst <= src || (char*)dst >= ((char*)src + count)) {
while (count--) {
*(char*)dst = *(char*)src;
dst = (char*)dst + 1;
src = (char*)src + 1;
}
}
else {
dst = (char*)dst + count - 1;
src = (char*)src + count - 1;
while (count--) {
*(char*)dst = *(char*)src;
dst = (char*)dst - 1;
src = (char*)src - 1;
}
}
return ret;
}
int main() {
const char dest[] = "abcdefg";
const char src[] = "hijklmn";
printf("Before memmove dest = %s, src = %s\n", dest, src);
Memmove(dest, src, 3);
printf("After memmove dest = %s, src = %s\n", dest, src);
system("pause");
return 0;
}
C语言:实现memmove:从 str2 复制 n 个字符到 str1
最新推荐文章于 2023-12-21 12:13:12 发布