C语言 strncpy
C语言 strncpy
#include <string.h> char *strncpy(char *dest, const char *src, size_t n);
功能:把src指向字符串的前n个字符复制到dest所指向的空间中,是否拷贝结束符看指定的长度是否包含'\0'。
参数:
- dest:目的字符串首地址
- src:源字符首地址
- n:指定需要拷贝字符串个数
返回值:
- 成功:返回dest字符串的首地址
- 失败:NULL
案例
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
#define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <string.h> #include <stdlib.h> #include <math.h> #include <time.h> int main(void) { char ch[] = "hello world"; // 字符串有限拷贝需要先初始化 char str[100] = {0}; // 字符串有限拷贝 strncpy(str, ch, 5); printf("%s\n", str); return 0; }
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
#define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <string.h> #include <stdlib.h> #include <math.h> #include <time.h> void my_strncpy(char* dest, const char* src,size_t n) { while ((*dest++ = *src++) && --n); } int main(void) { char ch[] = "hello world"; // 字符串有限拷贝需要先初始化 char str[100] = {0}; my_strncpy(str, ch, 5); printf("%s\n", str); return 0; }