关于在某个地址里读到的数据,怎样确定它是一个完整的数据(题目说得不清楚,请进)?
例如我从456987这个地址里读了一个数据,是32,但是,如果恰好这个地址是和前面(即456987前面的地址)的地址的数据是同一个数据,就是说456984、456985、456986、456987这个地址里存放的数据是一个完整的数据,
我想知道的是,怎样可以确定虚拟地址空间里某几个地址是连接表示一个数据的,就像上面那样,如果我不是从456984开始读4个字节的话,那我将会忽略了这个数据,而把它当成4个数据(即那4个地址各识别成一个数据),可以能有的朋友会叫我,那你就读的时候四字节为一个单位的读,但是我要处理的情况是,有时是以两个字节为单位的读,有时是以四个字节,有时是以一个字节,请教啊
问题点数:50、回复次数:3Top
1 楼abuseyoudna1981()回复于 2006-05-01 03:14:16 得分 25
我觉得应该用sizeof去判定某种类型数据需要读多少个字节吧.某种类型的数据,就算它没有占用全部的地址,但也是需要为它保留的.所以用sizeof去判定读多少个字节.我觉得这个方法应该是可行的.希望能给你带来一点提示.Top
2 楼lyl_rabbit(阿牛)回复于 2006-05-01 11:12:29 得分 25
当这个指针是 char*时,就只读8位
当这个指针是 int*时,就只读32位(在32位的机器上)
不知道对你是否有用Top
3 楼CrazyAzreal(顶..真系稳食艰难!)回复于 2006-05-01 13:05:21 得分 0
如此啊``我自己的想法也是这样,不知有没有哪位朋友解决过这样的问题?Top




