memcpy 函式即將禁用

2021-04-28 14:26:56 字數 517 閱讀 9323

微軟開始建議禁用memcpy函式了,原因是因為該函式和strcpy、strncpy等函式一樣,因為存在潛在的緩衝區溢位的風險。推薦使用的代替的函式是

memcpy_s(),在vc++ 2008的簽名如下:

errno_t __cdecl

memcpy_s(

_out_opt_bytecap_post_bytecount_(_dstsize, _maxcount)

void * _dst,

_in_ rsize_t _dstsize,

_in_opt_bytecount_(_maxcount) const void * _src,

_in_ rsize_t _maxcount

);在某人可能設定比實際分配更大的**空間的時候,memcpy_s()沒有memcpy()那樣的安全弱點,所以不容易出錯。

參見:http://www.infoq.com/cn/news/2009/05/memcpy-banned

關於memcpy函式

一朋友問我memcpy如何寫?初時感到愕然,c庫中不是有嗎?後來才知道原來是某公司考題。檢視了一下要求,呵呵,要求的已經不是原來的memcpy函式了。嘗試寫出,歡迎高手拍磚 define n 4 pragma pack n void memcpyy void dest,const void src,...

memcpy函式用法

函式原型 void memcpy void dest,void src,unsigned int count memcpy 函式用於 把資源記憶體 src所指向的記憶體區域 拷貝到目標記憶體 dest所指向的記憶體區域 size變數控制拷貝的位元組數 用法 1 可以拷貝任何型別的物件,因為函式的引數...

memcpy函式介紹

原型 extern void memcpy void dest,void src,unsigned int count 用法 include 功能 由src所指記憶體區域複製count個位元組到dest所指記憶體區域。說明 src和dest所指記憶體區域不能重疊,函式返回指向dest的指標。舉例 m...