strcat()函数用法及其详解

strcat()函数用法:

声明:

char *strcat(char *dest, const char *src)

参数:

  • dest – 指向目标数组,该数组包含了一个 C 字符串,且足够容纳追加后的字符串。
  • src – 指向要追加的字符串,该字符串不会覆盖目标字符串。

返回值:

该函数返回一个指向最终的目标字符串 dest 的指针。

示例:

/*
 * @Author: Your name
 * @Date:   2020-02-19 12:23:12
 * @Last Modified by:   YunLong Wang
 * @Last Modified time: 2020-02-19 12:23:12
 */
#include
#include
#include
#define SIZE 80
char *s_get(char *str,int n);
int main()
{
    char flower[SIZE];
    char addon[] = "s smell like old shoes.";
    puts("what is your favorite flower?");
    if(s_get(flower,SIZE))
    {
        strcat(flower,addon);
        puts(flower);
        puts(addon);
    }
    else
    {
        puts("end of file.");
    }
    puts("Done.");
    getchar();
    return 0;
}
char *s_get(char *str,int n)//此函数的目的是消除换行符以及处理过长的输入并将其截断
{
    char *ret;
    int i = 0;
    ret = fgets(str,n,stdin);
    if(ret)
    {
        while(str[i]!='\n'&&str[i]!='\0')//当没有遇到换行符跟空字符时向前推进
        {
            i++;
        }
        if(str[i]='\n')//如果遇到换行符将其替换为空字符
        {
            str[i]='\0';
        }
        else//如果先遇到空字符,说明一次输入的字符超过了fgets()所能读取的最大字符长度
        {
            while(getchar()!='\n')//如果输入的字符过长,将其截断
            {
                continue;
            }
        }   
    }
    return ret;
}

该程序的输出如下:

what is your favorite flower?
wonderflower
wonderflowers smell like old shoes.
s smell like old shoes.
Done.

可以看出,flower字符串变长了,而addon字符串没有改变。

你可能感兴趣的:(笔记)