由于原来的strcat和strncat可能会产生栈溢出
所以新版的vs会提醒你换成更安全的函数strcat_s 和 strncat_s
strcat_s:三个参数 errno_t strcat_s(char * restrict dest,rsize_t destsz,const char * restrict src);
举例:
char *a = "12345";
char *b = (char*)malloc(6);
memset(b, 0, 6);
strcat_s(b, strlen(a) + 1, a);
如果想连接部分就要用到下面这个:
strncat_s :四个参数 errno_t strncat_s(char * restrict dest,rsize_t destsz,const char * restrict src,rsize_t count);
count:最大复制数
destsz:目标缓冲区大小。
写在最后:提醒自己的是,很久没写c代码了,很多库函数都不记得怎么用了,突然被要求用纯c写代码,指针都忘了注意事项了。
需要提醒的是,在用指针的时候,不要乱赋值!!!!!!!!,尤其赋值的东西后面还再用,可能就会篡改原值,所以最好先动态申请空间。