【C语法学习】26 - strcat()函数
文章目录
- 1 函数原型
- 2 参数
- 3 返回值
- 4 使用说明
- 5 示例
- 5.1 示例1
1 函数原型
strcat():将src指向的字符串附加在dest指向的字符串末尾,将两个字符串拼接成一个字符串,函数原型如下:
char *strcat(char *dest, const char *src);
2 参数
strcat()函数有两个参数src和dest:
- 参数src是指向源字符串的指针,类型为char*型;
- 参数dest是指向目的字符串的指针,类型为char*型。
3 返回值
strcat()函数的返回值类型为char*型,返回值为dest。
4 使用说明
- strcat()函数将src指向的字符串(不包括末尾的空字符’\0’)附加在dest指向的字符串末尾,即dest指向的字符串末尾的空字符’\0’被src指向的字符串的第一个字符src[0]覆盖;然后在拼接后的新字符串的末尾添加空字符’\0’;
- strcat()函数不检查dest指向的内存空间的大小,必须保证dest所指向的内存空间足够大,能够容纳下src指向的字符串和dest指向的字符串,否则会导致溢出。
C语言标准描述如下:
1. Appends a copy of the null-terminated byte string pointed to by src to the end of the null-terminated byte string pointed to by dest.
2. The character src[0] replaces the null terminator at the end of dest.
3. The resulting byte string is null-terminated.
4. The behavior is undefined if the destination array is not large enough for the contents of both src and dest and the terminating null character.
5. The behavior is undefined if the strings overlap.
6. The behavior is undefined if either dest or src is not a pointer to a null-terminated byte string.
5 示例
5.1 示例1
代码如下所示:
int main()
{
//
char dest[27] = "a";
char src[2] = { 0 };
//
int n = 0;
for (n = 98; n < 108; n++)
{
src[0] = n;
strcat(dest, src);
puts(dest);
}
return 0;
}
代码运行结果如下图所示: