c语言 strcat 函数问题

今天实验strcat函数的时候老出现一个问题显示:用于调用的参数太少(本人使用的是VS2017)
自己自行百度看到有这种写法却可以编译通过,求解。

#include <stdio.h>
#include <string.h>
int main(void)
{
    char d[] = "adiadjwijda"; 
    char *s = "aidwi";
    strcat_s(d,s);
    printf("%s", d);
    getchar();
}

1个回答

strcat_s和strcat不同,它需要3个参数,第二个参数是缓冲区的大小,你这么写,d容纳不下拼接之后的字符串。
你可以写

#include <stdio.h>
#include <string.h>
int main(void)
{
    char d[100];
        char d1[] = "adiadjwijda"; 
        strcpy_s(d, 100, d1);
    char *s = "aidwi";
    strcat_s(d, 100, s);
    printf("%s", d);
    getchar();
}
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐