- C 标准库
- C 库 - 首页
- C 库 - <assert.h>
- C 库 - <complex.h>
- C 库 - <ctype.h>
- C 库 - <errno.h>
- C 库 - <fenv.h>
- C 库 - <float.h>
- C 库 - <inttypes.h>
- C 库 - <iso646.h>
- C 库 - <limits.h>
- C 库 - <locale.h>
- C 库 - <math.h>
- C 库 - <setjmp.h>
- C 库 - <signal.h>
- C 库 - <stdalign.h>
- C 库 - <stdarg.h>
- C 库 - <stdbool.h>
- C 库 - <stddef.h>
- C 库 - <stdio.h>
- C 库 - <stdlib.h>
- C 库 - <string.h>
- C 库 - <tgmath.h>
- C 库 - <time.h>
- C 库 - <wctype.h>
- C 标准库资源
- C 库 - 快速指南
- C 库 - 有用资源
- C 库 - 讨论
C 库 - memmove() 函数
C 库的 memchr() 函数用于将一块内存从一个位置复制到另一个位置。通常,此函数指定从源位置到目标位置的数据字节数。
语法
以下是 C 库 memchr() 方法的语法:
void *memmove(void *dest_str, const void *src_str, size_t numBytes)
参数
此函数接受以下参数:
*dest_str - 这是目标数组的指针,内容将被复制到其中。它被类型转换为 void* 类型的指针。
*src_str - 这是第二个指针,表示要复制的数据源。它也被类型转换为 void* 类型的指针。
numBytes - 此参数指的是要复制的字节数。
返回值
此函数返回指向目标的指针,即 *dest_str。
示例 1
以下是用于更改字符串位置的基本 C 库函数 memchr()。
#include <stdio.h> #include <string.h> int main () { char dest_str[] = "oldstring"; const char src_str[] = "newstring"; printf("Before memmove dest = %s, src = %s\n", dest_str, src_str); memmove(dest_str, src_str, 9); printf("After memmove dest = %s, src = %s\n", dest_str, src_str); return(0); }
输出
以上代码产生以下输出:
Before memmove dest = oldstring, src = newstring After memmove dest = newstring, src = newstring
示例 2
在下面的示例中,我们对目标字符串使用 puts() 方法。此方法在字符串末尾添加换行符并返回整数值。在将内容从源字符串复制到目标字符串时,我们使用了 memmove() 方法。
#include <stdio.h> #include <string.h> int main() { char dest_str[] = "Tutorialspoint"; char src_str[] = "Tutors"; puts("source string [src_str] before memmove:-"); puts(dest_str); /* Copies contents from source to destination */ memmove(dest_str, src_str, sizeof(src_str)); puts("\nsource string [src_str] after memmove:-"); puts(dest_str); return 0; }
输出
执行以上代码后,我们得到以下输出:
Source string [src_str] before memmove:- Tutorialspoint Source string [src_str] after memmove:- Tutors
广告