C中memcpy使用注意事項

Ruo_Xiao發表於2018-10-26
--------------------------------------
--    建立人:Ruo_Xiao
--    郵箱:xclsoftware@163.com
--------------------------------------

一、函式原型

void *memcpy(void *dest , const void *src , size_t count)

二、標頭檔案

#include <memory.h>
#include <string.h>

三、返回值

dest的值

四、功能

拷貝以src地址開始的count個字元到dest地址上。(Copies characters between buffers.)

五、注意

1、上述“功能”描述中,拷貝的單位為字元,而不是位元組,必須弄懂這一點,否則很容易發生溢位甚至堆破壞。

2、栗子:

wchar_t *wmemcpy(  
                   wchar_t *dest,  
                   const wchar_t *src,  
                   size_t count  
                );  

上述函式是對於寬字元設計的,這裡的count是雙字元的個數,即:wchar_t型別。

3、memcpy 和 wmemcpy 均不能識別拷貝溢位,故屬於不安全函式。

 

 

(SAW:Game Over!)

 

 

 

 

 

 

相關文章