strcat()在C内部是如何工作的?

strcat()在C内部是如何工作的?,c,C,假设我想在C中连接A和B,都是char*数组,我将分别称它们为A和B。 我们知道在a,b的末尾有一个“\0”来表示单词的结尾。 当我使用strcata,b时,在a中我需要多少空间才能让函数工作?3个字符?2个字符? strcat是添加“\0”还是它是我的作业?strcat,b将覆盖a的\0并附加b,包括其\0,因此结果将正确终止。很明显,所需的缓冲区大小是strlena+strlenb+1。所有这些问题都在中得到了回答。

假设我想在C中连接A和B,都是char*数组,我将分别称它们为A和B。 我们知道在a,b的末尾有一个“\0”来表示单词的结尾。 当我使用strcata,b时,在a中我需要多少空间才能让函数工作?3个字符?2个字符?
strcat是添加“\0”还是它是我的作业?

strcat,b将覆盖a的\0并附加b,包括其\0,因此结果将正确终止。很明显,所需的缓冲区大小是strlena+strlenb+1。

所有这些问题都在中得到了回答。