strncat()函数,用于两个字符串的拼接。
(1)函数原型
char * strncat(char * Dest,const char * Source,size_t _Count)`
(2)头文件
string.h
(3)功能
将const char * Source所指代的字符串,拼接到char *Dest后面。根据size_t _Count
的值确定拼接char *Dest所指向的字符的最大个数
(4)基础实例代码
char a[30]="zobol\0";
char b[11]="的魔法小屋\0";
strncat(a,b,10);
printf("%s\n",a);
(5)输出情况
(6)基础实例代码2
char a[30]="zobol\0";
char b[11]="的魔法小屋\0";
strncat(a,b,8); //少拼接2个字符
printf("%s\n",a);
(7)输出情况2
(8)问题1:最大size_t _Count的值怎么确定?
回答:用char * Dest的(数组长度-1)减去strlen(Source)的值
a_length = N-strlen(b);
(9)问题2:如果char * Dest指向的字符数组总长度不够怎么办》
回答:C语言依旧不会自动避免,这里会产生跟strcat一样的溢出越界错误。
(10)问题3:size_t _Count超过拼接字符串数量怎么办?
回答:没关系,超过没有关系,会自动读取到"\0"处停止