作者Picoro (我想吃螃蟹啊 Orz)
看板C_and_CPP
标题[问题] 关於writeprocessmemory的问题 ...
时间Thu Oct 8 04:31:35 2009
其实刚刚打了一篇文章又删掉 ,
主要是这边前辈高手这麽多 ,
很怕这问题让各前辈高手觉得太简单而不高兴 ...
但基於想解决问题的心态 , 还是上来被各位前辈高手教训一顿好了 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
1F:→ Picoro:啊 ... 改成 StrToInt("0x"+IntToHex(l_value,2)) 就对了 10/08 04:50
2F:→ Picoro:但我还是觉得我的写法很怪 Orz 10/08 04:50
3F:推 LPH66:你把表现内容的方式和实际储存的值搞混了 10/08 06:23
4F:→ LPH66:你不需要管它是不是几进位 只要存对的数字进去就行了 10/08 06:23
5F:推 LPH66:除非你真的是要写入 "0x52" 这样四个 byte 的字串 10/08 06:25
6F:→ LPH66:但看你宣告 char symbol_l[1] 又不像是四个 byte... 10/08 06:25
7F:推 VictorTom:推楼上:) 0x52, 80, 0120, 这些东西对电脑来说都是一样 10/08 09:04
8F:→ VictorTom:的, 不同进位的表现值只有我们看的时候不同, 真正在电脑 10/08 09:04
9F:→ VictorTom:里代表的数是一样的; 除非你要写成"..."字串:) 10/08 09:05
10F:→ Picoro:soga ... 对唷 ... 我好像忽略这点了 Orz 10/08 12:00