[問題] 關於writeprocessmemory的問題 ...

看板C_and_CPP (C/C++)作者 (我想吃螃蟹啊 Orz)時間16年前 (2009/10/08 04:31), 編輯推噓3(307)
留言10則, 3人參與, 最新討論串1/1
其實剛剛打了一篇文章又刪掉 , 主要是這邊前輩高手這麼多 , 很怕這問題讓各前輩高手覺得太簡單而不高興 ... 但基於想解決問題的心態 , 還是上來被各位前輩高手教訓一頓好了 Orz 事情是這樣子的 , 我今天有個整數 82 , 我想要把它寫到memory中 , 因為要變成16進制 , 所以理論上它在memory中要變成 52 , 為了迎合writeprocessmemory的特性 , 我是這樣寫的 , char symbol_l[1] = {0x00 | StrToInt(IntToHex(l_value,2))} ; 我知道有90%的人看到我這麼寫就想揍我了 Orz 事實上 , 這東西的確也有問題 ... StrToInt這個function , 遇到像 0A 0B 0C 之類的 , 就直接掛掉了 , 不過我因為對C語言的程度 , 只是在大概知道這東西的程度 , 所以也想不出其他辦法 , 只能上來請各位前輩高手們指導一下了 ... -- 閃小桃 - 甜蜜樂章的配音........Orz 說: 對阿 剛剛那個外籍新娘還長相OK又是大奶妹 自己挑都不一定交得到那麼好的 閃小桃 - 甜蜜樂章的配音........Orz 說: 台灣交女朋友要是不小心交到公主 可不只一百萬呢 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.252.203

10/08 04:50, , 1F
啊 ... 改成 StrToInt("0x"+IntToHex(l_value,2)) 就對了
10/08 04:50, 1F

10/08 04:50, , 2F
但我還是覺得我的寫法很怪 Orz
10/08 04:50, 2F

10/08 06:23, , 3F
你把表現內容的方式和實際儲存的值搞混了
10/08 06:23, 3F

10/08 06:23, , 4F
你不需要管它是不是幾進位 只要存對的數字進去就行了
10/08 06:23, 4F

10/08 06:25, , 5F
除非你真的是要寫入 "0x52" 這樣四個 byte 的字串
10/08 06:25, 5F

10/08 06:25, , 6F
但看你宣告 char symbol_l[1] 又不像是四個 byte...
10/08 06:25, 6F

10/08 09:04, , 7F
推樓上:) 0x52, 80, 0120, 這些東西對電腦來說都是一樣
10/08 09:04, 7F

10/08 09:04, , 8F
的, 不同進位的表現值只有我們看的時候不同, 真正在電腦
10/08 09:04, 8F

10/08 09:05, , 9F
裡代表的數是一樣的; 除非你要寫成"..."字串:)
10/08 09:05, 9F

10/08 12:00, , 10F
soga ... 對唷 ... 我好像忽略這點了 Orz
10/08 12:00, 10F
文章代碼(AID): #1ApFgh4o (C_and_CPP)
文章代碼(AID): #1ApFgh4o (C_and_CPP)