strncpy()用法
时间: 2024-03-01 19:47:17 浏览: 59
strncpy()是C语言中的一个字符串拷贝函数,用于将一个字符串的一部分拷贝到另一个字符串中。它的函数原型如下:
```c
char *strncpy(char *dest, const char *src, size_t n);
```
其中,`dest`是目标字符串的指针,`src`是源字符串的指针,`n`是要拷贝的字符数。
strncpy()函数会将源字符串src的前n个字符(包括空字符'\0')拷贝到目标字符串dest中。如果源字符串的长度小于n,则目标字符串会被空字符'\0'填充到n个字符。如果源字符串的长度大于等于n,则目标字符串不会以空字符'\0'结尾。
需要注意的是,strncpy()函数不会自动在目标字符串的末尾添加空字符'\0',因此在使用strncpy()函数拷贝字符串后,需要手动添加空字符来保证目标字符串的正确结束。
以下是strncpy()函数的使用示例:
```c
#include <stdio.h>
#include <string.h>
int main() {
char src[] = "Hello, world!";
char dest[20];
strncpy(dest, src, sizeof(dest) - 1); // 拷贝src的内容到dest中
dest[sizeof(dest) - 1] = '\0'; // 手动添加空字符
printf("拷贝后的字符串:%s\n", dest);
return 0;
}
```
输出结果为:
```
拷贝后的字符串:Hello, world!
```
阅读全文