小甲鱼 发表于 2016-3-31 01:00:15

strcat -- 连接字符串

strcat 函数文档

函数概要:

strcat 函数用于连接两个字符串。

将源字符串拷贝并连接到目标数组存放的字符串后边,此过程将覆盖第一个参数的结束符 '\0'。

两个参数的位置不应该重叠。


函数原型:

#include <string.h>
...
char *strcat(char *dest, const char *src);

参数解析:


参数含义
dest 指向用于存放字符串的目标数组,它应该包含一个字符串,并且提供足够容纳连接后的总字符串长度的空间(包含结束符 '\0')
src 指向待连接的源字符串,该参数不应该与 dest 参数指向的位置发生重叠


返回值:

返回值是指向目标字符串的指针。


演示:

#include <stdio.h>
#include <string.h>

int main()
{
      char str1 = "Original String";
      char str2[] = "New String";

      strcat(str1, " ");
      strcat(str1, str2);

      printf("str1: %s\n", str1);

      return 0;
}


版权归鱼C工作室(www.fishc.com)所有,转载请注明来源!

mhp0114 发表于 2017-2-15 10:59:51

get it

王霸霸霸霸 发表于 2018-10-31 19:23:20

为什么我会影响到上一行数组

Julia999 发表于 2018-11-20 09:31:44

超级棒!

大同先生 发表于 2019-2-23 18:23:55

我觉得,是把str1中的“\0”前面的和str2拼接。

as843743021 发表于 2019-6-4 17:35:48

后面str2的语句会被修改吗

1140913594 发表于 2021-2-18 16:09:55

讲得好

aiyueai 发表于 2021-7-23 16:37:27

为什么这个函数里把str2连接到str1,str2不会改变,但是把str1连接到str2,发现str1改变了,为什么?

北木南n 发表于 2021-8-10 17:35:54

为啥拼空格之后,下一条就拼不上了

ZHONG.Y.H 发表于 2022-3-30 14:59:41

{:10_281:}

额外减小 发表于 2022-7-21 14:11:39

我试了Dev-C++结果可以越界

额外减小 发表于 2022-7-21 14:12:19

额外减小 发表于 2022-7-21 14:11
我试了Dev-C++结果可以越界

就是不用提供足够空间
{:5_102:}

阿D 发表于 2023-1-16 17:09:04

as843743021 发表于 2019-6-4 17:35
后面str2的语句会被修改吗

hui

xgwd 发表于 2023-12-4 20:57:21

66666666666

大丽的奇迹 发表于 2024-5-5 15:44:43

#include <stdio.h>

double add(double,double);
double sub(double,double);
double mul(double,double);
double divi(double,double);
double (*cal(char))(double,double);

double add(double a,double b)
{
        return a+b;
}

double sub(double a,double b)
{
        return a-b;
}

double mul(double a,double b)
{
        return a*b;
}

double divi(double a,double b)
{
        return a/b;
}

double (*cal(char c))(double,double)
{
        switch(c)
        {
                case '+': return add;
                case '-': return sub;
                case '*': return mul;
                case '/': return divi;
        }
}

int main()
{
        double a,b;
        //char c;
       
        printf("请输入两个数;");
        scanf("%lf%lf",&a,&b);
       
        printf("对这两个数进行加减乘除后的结果是:");
        printf("%.2lf ",(*cal('+'))(a,b));
        printf("%.2lf ",(*cal('-'))(a,b));
        printf("%.2lf ",(*cal('*'))(a,b));
        if(b != 0)
        {
               
                printf("%.2lf\n",(*cal('/'))(a,b));
        }
        else
        {
                printf("除数不能为0!\n");
        }
       
        return 0;
}

ps:MD5的只能半成品,没搞懂为什么unsigned char 类型,能用 十六进制输出?{:10_245:}{:10_266:}
页: [1]
查看完整版本: strcat -- 连接字符串