C编程从入门到实践
上QQ阅读APP看书,第一时间看更新

8.4.5 字符串连接函数

在C语言中,函数strcat和函数strncat专门用于连接两个字符串。其中,函数strcat的使用格式如下所示。

    strcat(字符数组名,字符串)

“字符数组名”是已定义的字符数组;“字符串”表示字符串常量或已存放字符串的字符数组名。上述格式的功能是取消“字符数组”中字符串的结束标记,然后把“字符串”连接到它的后面,组成新的字符串并存回“字符数组”中。其返回值是字符数组的首地址,它要求字符数组的长度要足够大。

函数strncat的使用格式如下所示。

    strncat (字符数组,字符串,整型表达式)

其中,“字符数组”是已定义的字符数组名;“字符串”是字符串常量或已存放字符串的字符数组名;“整型表达式”可以是任何整型表达式。

上述格式的功能是:将“字符串”中“整型表达式”所规定的字符加到“字符数组”的后面。如果“字符串”中的字符大于“整型表达式”所规定的字符,则“整型表达式”所规定的字符加到“字符数组”的后面;如果“字符串”中的字符少于“整型表达式”所规定的字符,则“字符串”中的所有字符都将加到“字符数组”的后面。但是无论是上述哪种情况,都将在连续字符串的后面加上空字符。在此也要求字符数组的长度足够大,这样才能存储连接在后面的字符串。其返回值为字符数组。

实例8-10

使用strcat函数和strncat函数连接用户输入的字符串

源码路径daima\8\8-10

本实例的实现文件为“connect.c”,具体实现代码如下。

    #include"string.h"
    #include"stdio.h"

    /*strcpy && strcat*/
    int main(void)
    {
          char string[80];
          strcpy(string, "我是");
          strcat(string, "梅西! ");
          strcat(string, "我是");
          strcat(string, "C罗!");
          printf("string = %s \n", string);
          getch();
          return 0;
    }

拓展范例及视频二维码

范例8-10-01:计算字符串的长度

源码路径:演练范例\8-10-01\

范例8-10-02:自定义字符串连接

源码路径:演练范例\8-10-02\

程序运行后的效果如图8-10所示。

图8-10 执行效果