C语言学习之我见strncat()可调整的字符串拼接函数

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"处停止

原文地址:https://www.cnblogs.com/zobol/p/14354890.html