函数strncpy和memcpy的区别

1定义

1.1 memcpy

void *memcpy(void *destin, void *source, unsigned n);
参数
*destin ---- 需要粘贴的新数据(地址)
*source ---- 要拷贝的数据(地址)
unsigned n ---- 拷贝数据的字节数

1.2 strncp

char *strncpy(char *destinin, char *source, int maxlen);
参数
**char destinin ---- 需要粘贴的新数据(地址)
**char source ---- 要拷贝的数据(地址)
maxlen ---- 拷贝数据的字节数

2 区别

函数 memcpy strncp
使用范围 任意类型 字符串

3 总结

  • strncpy函数用于将源字符串的一部分复制到目标字符串中。它可以将指定长度的字符复制到目标字符串中,如果源字符串的长度小于指定长度,则目标字符串的剩余部分将被填充为NULL。strncpy是一个安全的函数,它会自动在目标字符串的末尾添加NULL字符,以确保目标字符串是以NULL字符结尾的。

  • memcpy函数是一个通用的内存复制函数,它可以将任意类型的数据从一个内存地址复制到另一个内存地址。与strncpy不同,memcpy不会在目标地址末尾添加NULL字符,因此需要确保目标地址有足够的空间来容纳复制的数据。

posted @ 2023-05-14 14:20  不想解决BUG的李优秀  阅读(330)  评论(0编辑  收藏  举报