VB:
CopyMemory是RtlMoveMemory函式
count = 3000;
‘count = 5000;
CopyMemory ByVal VarPtr(b(0)) ,ByVal VarPtr(count)),1
CopyMemory ByVal VarPtr(b(1)) ,ByVal VarPtr(count))+1,1
CopyMemory ByVal VarPtr(b(2)) ,ByVal VarPtr(count))+2,1
CopyMemory ByVal VarPtr(b(3)) ,ByVal VarPtr(count))+3,1
'轉換結果:
'3000-->00 80 3B 45
'5000-->00 40 9C 45
為什么結果會是這樣的呢?能幫忙解釋一下具體的原理嗎?
uj5u.com熱心網友回復:
你的那個變數 count 的型別不對吧!不是Long的,是變體吧!
uj5u.com熱心網友回復:
應該如LS所說,你Count是Variant吧,如果是應該這樣:CopyMemory ByVal VarPtr(b(0)) ,ByVal VarPtr(count))+8,1
CopyMemory ByVal VarPtr(b(1)) ,ByVal VarPtr(count))+9,1
CopyMemory ByVal VarPtr(b(2)) ,ByVal VarPtr(count))+10,1
CopyMemory ByVal VarPtr(b(3)) ,ByVal VarPtr(count))+11,1
uj5u.com熱心網友回復:
你應該要了解陣列或UDT在記憶體中的存放方式.建議研究SAFEARRAY.uj5u.com熱心網友回復:
big xxxlittle xxx
字序的問題,忘了那個名詞怎么叫了
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/121697.html
標籤:API
