今天实验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();
}
今天实验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();
}
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();
}