首页 > 编程知识 正文

strcat与strncat区别与使用

时间:2023-05-06 02:33:40 阅读:265427 作者:3603

由于原来的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写代码,指针都忘了注意事项了。

需要提醒的是,在用指针的时候,不要乱赋值!!!!!!!!,尤其赋值的东西后面还再用,可能就会篡改原值,所以最好先动态申请空间。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。