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:要拷貝的字節數

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