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
广告