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