2012-03-09 11 views
0

,只有1個字節在**buf = len;自動覆蓋,如果我的len具有即7而4應該是,因爲的sizeof(DWORD )= 4書寫DWORD到存儲器重寫僅1個字節,而不是4

+2

只有1個字節被分配給'** buf',因爲這就是它所能容納的。 – 2012-03-09 15:55:52

+0

哦,我很盲目:(謝謝,把它作爲回答,我會關閉問題。 – 2012-03-09 15:56:58

回答

1

由於bufchar **,**bufchar。它只能保存一個字節。因此,只有一個字節被寫入。

1

修正:

DWORD *tmpptr(*buf); 
*tmpptr = len; 

C++自動鑄造len個至焦炭,因爲這是*buf是。

0

你有參數

char** buf 

意思就是說**buf是一個char,這很可能是一個單字節。

0

由於目標類型是字符(**buf的類型爲char),1字節被覆蓋。這是對的。但是表達式*buf += sizeof(len)在我看來沒有意義。

相關問題