内存分配的函数¶
约 8 个字 32 行代码 预计阅读时间不到 1 分钟
memmove¶
char str1[] = "Hello, world!";
char str2[20];
// 使用 memmove 将 str1 中的内容复制到 str2 中
memmove(str2, str1, strlen(str1) + 1);
//void *memmove(void *dest, const void *src, size_t n);
//这里 dest 是目标内存块的起始地址,src 是源内存块的起始地址,n 是要移动的字节数。
char src[] = "Hello, world!";
char dest[20];
// 使用 memcpy 将 src 中的内容复制到 dest 中
memcpy(dest, src, strlen(src) + 1);
//void *memcpy(void *dest, const void *src, size_t n);
//dest 是目标内存区域的起始地址,src 是源内存区域的起始地址,n 是要复制的字节数。
void replace(char * b,const char *a,const char * c){
int lenA = strlen(a);
int lenC = strlen(c);
char * p = strstr(b,a);
while(p != NULL){
memmove(p + lenC, p + lenA,strlen(p + lenA) + 1);
memcpy(p,c,lenC);
p = strstr(p + lenC,a);
}
}
//将b中的所有a替换成c