不安全的话是为什么?应该如何改进?
不安全的话是为什么?应该如何改进?
不安全的话是为什么?应该如何改进?
谢谢大家!
c语言很多函数都没有绝对安全的说法,因为你无法判断数组定义的长度,容易造成越界。只能根据自己实际情况对操作的函数进行限制,就像你上面做的大于64就不执行。
memcpy只是执行单纯的复制,而没有检查越界的 问题。改进也只能像你上面做的,人为根据自己需求去限制。
或者另外一种做法,不要使用数组,全部定义指针,然后空间用malloc申请。
改成
char *buf;
buf = malloc(len);
memcpy(buf,data,len);