请教一下vs中使用strcat连接a和b两个字符串,出现这个是什么原因?如果要使用strcat连接字符串的话需要添加哪些头函数呢?
我明白了,出现这个问题是因为strcat_s需要三个参数,这个程序写得很不规范,假设
char a[20]={"hello"};
char b[]={"world"};
char c[20];
strcat_s(a,11,b);
strcpy_s(c,11,a);
printf("%s",c);
将一个数组赋给另一个数组不能直接用=,需要用strcpy函数,
strcat_s中间的数字是两个数组连起来的大小+1
strcpy_s中间的数字是a的大小+1
供参考:
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int main()
{
char a[] = {"hello"};
char b[] = {"world"};
char c[20] = {0};
//c[20] = strcat_s(a,len,b);
strcat_s(c, a);
strcat_s(c, b);
printf("%s\n",c);
return 0;
}