字符串连接函数 中的 错误提示“strcat_s”: 用于调用的参数太少 是怎么回事,求指点?

我改成这样后,运行结果又出了问题,strcat_s(buffer, 100,areaNumber);
用的是VS2013

#include <stdio.h>
#include <string.h>
void main()
{
    char areaNumber[5];
    char phoneNumber[12];
    int input;
    char extraNumber[5];
    char buffer[25] = { 0 };
    printf("请输入区号:");
    gets_s(areaNumber, 80);
    printf("请输入电话号码:");
    gets_s(phoneNumber, 80);
    printf("有分机号吗?(y/n)");
    input = getchar();
    fflush(stdin);
    if (input == 'y')
    {
        printf("请输入分机号:");
        gets_s(extraNumber, 80);
        strcat_s(buffer, areaNumber);
        strcat_s(buffer, "-");
        strcat_s(buffer, phoneNumber);
        strcat_s(buffer, "-");
        strcat_s(buffer, extraNumber);
    }
    else{
        strcat_s(buffer, areaNumber);
        strcat_s(buffer, "-");
        strcat_s(buffer, phoneNumber);
    }
    printf("您的电话号码是%s。\n", buffer);
}
```![图片说明](https://img-ask.csdn.net/upload/201907/06/1562400259_71379.jpg)

1个回答

你的buffer只有25
strcat_s(buffer, 25,areaNumber);

类似的
gets_s(extraNumber, 80);
而你 char extraNumber[5];,那么要么前面修改为5,要么后面修改为80
而且要记住,你输入的字符最大长度必须比数组长度小1。否则结束符没地方放。

caozhy
贵阳老马马善福专业维修游泳池堵漏防水工程 回复廖同学学习入门: 问题解决请采纳下
12 个月之前 回复
weixin_44790790
Rigis 谢谢
12 个月之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问