strcat与strcat_s_strlcat

strcat与strcat_s_strlcat由于原来的strcat和strncat可能会产生栈溢出所以新版的vs会提醒你换成更安全的函数strcat_s和strncat_sstrcat_s:三个参数errno_tstrcat_s(char*restrictdest,rsize_tdestsz,constchar*restrictsrc);举例:char*a=”12345″;char*b=…_strncat_s

strcat与strcat_s_strlcat

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

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

今天的文章strcat与strcat_s_strlcat分享到此就结束了,感谢您的阅读,如果确实帮到您,您可以动动手指转发给其他人。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/58019.html

(0)
编程小号编程小号

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注