长度首限制字符串函数
先看一段代码
#include<stdio.h>
int main()
{
char arr1[5] = "abc";
char arr2[] = "hello frost";
strcpy(arr1, arr2);
printf("%s\n", arr1);
return 0;
}
结果:崩溃
解决问题
(一)
strncpy函数:
char* strncpy(char* strDest, const char* strSource, size_t count);
#include <stdio.h>
#include <string.h>
int main()
{
char arr1[10] = "abcdefs";
char arr2[] = "hello frost";
strncpy(arr1, arr2,3);
printf("%s\n", arr1);
return 0;
}
(二)
strncat函数 追加
char *strncat( char *strDest, const char *strSource, size_t count );
#include<stdio.h>
#include <string.h>
int main()
{
char arr1[30] = "hello";
char arr2[] = "world";
strncat(arr1, arr2, 7)