头文件:string.h
web
函数原型:char *strncpy(char *dest, const char *src, int n)
函数功能:表示把src
所指向的字符串的前n个字节复制到dest
所指向的字符串数组中,并返回被复制后的dest
数组
参数说明svg
参数名 | 参数说明 |
---|---|
char *dest |
字符串要被复制到的字符数组指针 |
const char *src |
字符串将从何处拷贝的字符串指针 |
int n |
拷贝多少个字节,通常状况为sizeof(src) - 1 |
#include <stdio.h> #include <string.h> int main(void) { char msg1[32] = "This is a test message!"; char msg2[32] = "This is also a test message!"; strncpy(msg2, msg1, sizeof(msg1) - 1); printf("msg1 is [%s]\n", msg1); printf("msg2 is [%s]\n", msg2); return 0; }
msg1 is [This is a test message!] msg2 is [This is a test message!]
注意观察上面的运行结果,本来msg2
是比msg1
长的,可是将msg1
复制到msg2
后,msg2
比msg1
多出来的部分也不见了,这是由于strncpy
在复制n
字节数据到dest后会在结尾加上'\0'
,做为字符串的结束。函数