strncpy和mencpy
时间: 2023-12-08 20:39:04 浏览: 84
`strncpy`和`memcpy`都是C语言中的字符串/内存拷贝函数,但它们有一些不同之处。
`strncpy`函数用于将一个字符串的一部分复制到另一个字符串中,可以指定要复制的字符数。如果源字符串的长度小于指定的字符数,则目标字符串将以空字符填充,以达到指定的字符数。如果源字符串的长度大于指定的字符数,则目标字符串将不以空字符结尾。`strncpy`函数的语法如下:
```c
char *strncpy(char *dest, const char *src, size_t n);
```
其中,`dest`是目标字符串的指针,`src`是源字符串的指针,`n`是要复制的字符数。
`memcpy`函数用于将一个内存区域的内容复制到另一个内存区域中。`memcpy`函数的语法如下:
```c
void *memcpy(void *dest, const void *src, size_t n);
```
其中,`dest`是目标内存区域的指针,`src`是源内存区域的指针,`n`是要复制的字节数。
下面是一个使用`strncpy`和`memcpy`函数的例子:
```c
#include <stdio.h>
#include <string.h>
int main()
{
char src[] = "Hello, world!";
char dest1[20];
char dest2[20];
strncpy(dest1, src, 5);
printf("dest1: %s\n", dest1); // 输出:dest1: Hello
memcpy(dest2, src, 5);
printf("dest2: %s\n", dest2); // 输出:dest2: Hello
return 0;
}
```
阅读全文