跳转至内容

C 编程/C 参考/非标准/mempcpy

来自维基教科书,开放的书籍,开放的世界

C 语言函数调用mempcpywmempcpy 用于将一块内存区域复制到另一块区域。

在 C 中,函数mempcpy 包含在头文件 string.h 中。mempcpymemcpy() 几乎完全相同。此函数用于复制字符串。函数wmempcpy 与 mempcpy() 相同,但接受 wchar_t 类型参数并复制 n 个宽字符。它位于 wchar.h 头文件下。

在 C 编程中,使用函数 mempcpy() 和 wmempcpy()。mempcpy() 函数与 memcpy() 函数几乎完全相同。它位于缓冲区操作函数中。它将指定数量的字符从一个缓冲区复制到另一个缓冲区。它将从 src 开始的 n 个字节从对象复制到 dest 指向的对象。但它不返回 dest 的值,而是返回指向最后一个写入字节之后的字节的指针。此函数在需要将多个对象复制到连续内存位置的情况下很有用。如果在对象之间进行复制重叠,则行为未定义。

返回值

[编辑 | 编辑源代码]

dest + n。

void *
combine (ciod *o1, size_t s1, void *o2, size_t s2)
{
void *result = malloc(s1 + s2);
if (result != NULL)
mempcpy(mempcpy(result, o1, s1), o2, s2);
return result;
}

mempcpy 最初出现在 glibc 2.1 版本中

memccpy( ), memcpy( )

参考资料

[编辑 | 编辑源代码]
华夏公益教科书