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<stdio.h>
#include<stdlib.h>
#include<string.h>
#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字符串没有改变。

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<stdio.h>
#include<stdlib.h>
#include<string.h>
#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字符串没有改变。