strcat()函数

函数原型 extern char *strcat(char *dest, count char *src)

头文件:在c语言中 <string.h>  在c++中,则存在于<cstring>

功能:接收两个字符串作为参数。把函数把第二个字符串符备份附加在第一个字符串的末尾,并把拼接后形成的新字符串作为第一个字符串,第二个字符串不变。 

缺点:strcat()函数无法检查第一个数组是否能容纳第二个字符串,如果分配给第一个数组的空间不够大,多出来的字符溢出到相邻存储单元时就会出问题。

#include <stdio.h>
#include <string.h>
#define SIZE 80
char *s_gets(char *st, int n);

int mian(void)
{
    char flower[SIZE];    //定义第一个数组
    char addon[] = "This is an array";    //定义第二个数组
    
    puts("what is your favorite?");   //提示信息
    if(s_gets(flower,SIZE));        //接收一个字符串,给flower数组赋值。
    {
        strcat(flower, addon);    //拼接字符串
        puts(flower);             //输出第一个字符串
        puts(addon);              //输出第二个字符串
    }
    else
    {
        puts("End of file encountered!");   //提示信息,遇到文件结束
    }
    puts("bye");

    return 0;    
}
//s_gets()函数在另一个博客中有说明
char * s_gets(char *st, int n)
{
    char * ret_val;
    int i;
    
    ret_val = fgets(st, n, stdin);
    if(ret_val)
    {
        while(st[i] != '\n', && st[i] != '\0')
        {
            i++;
        }
        if(st[i] == '\n')
        {
            st[i] = '\0';
        }
        else
        {
            while(getchar() != '\n')
                continue;
        }
    }
}

猜你喜欢

转载自blog.csdn.net/qq_40732561/article/details/81187383
今日推荐