memcpy与memcpy_s的使用

 strcpy_s、memcpy_s等具有缓冲区大小检查的函数,可以有效的检测内存溢出,找到出错的代码。但是strcpy、memcpy这样的出错了需要自己扒代码。

下面是两者使用的一个例子:

char szTmp[30] = { 0 };
int nd = sizeof szTmp;
memcpy_s(szTmp, sizeof szTmp, szBuf, sizeof szTmp);
memcpy(szTmp, szBuf + n, sizeof szTmp);

memcpy_s的函数原型如下

errno_t memcpy_s(
   void *dest,
   size_t numberOfElements,
   const void *src,
   size_t count 
);

其中每个参数的含义如下:

dest:目标的地址

numberOfElements:目标的size

src:源地址

count:要拷贝的字节数

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章