| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 496 人关注过本帖
标题:关于字节对齐上的疑问
取消只看楼主 加入收藏
wube
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:23
帖 子:1820
专家分:3681
注 册:2011-3-24
结帖率:97.66%
收藏
已结贴  问题点数:20 回复次数:4 
关于字节对齐上的疑问
若是有个结构体定义为:
struct AAA
{
    unsigned short int sLen;
    unsigned __int8 Type;
    unsigned __int8 Sub;
    unsigned __int8 MyString_Count;
    char *MyString;
}A;

1.此时如何将结构体覆盖到数据资料上并提取出相关讯息?
数据形态皆有明确定义~但是因为最后的字符串长度未知~
想不通怎做出字节对齐的方法?

2.若是有AAA到ZZZ种不同的结构体~又该如何将其串接~
有必要将各个结构体重定义到一个新形态中吗?
搜索更多相关主题的帖子: 疑问 结构体 字符串 如何 
2013-04-02 06:36
wube
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:23
帖 子:1820
专家分:3681
注 册:2011-3-24
收藏
得分:0 
因为sizeof(AAA)的长度取决于char *MyString大小
例如说数据中资料串为(以一个字节为一个单位)
00 04 01 02 03 41 41 41
如何套上此结构解出

sLen = 00 04
Type = 01
Sub = 02
MyString_Count = 03
MyString = "AAA"

我不想要数字节的格子~改由变量型态定义字节长度~
来获取资料内容~

不要選我當版主
2013-04-02 07:52
wube
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:23
帖 子:1820
专家分:3681
注 册:2011-3-24
收藏
得分:0 
而第二个问题是因为结构体自数据中会出现重复情况~
所以会有结构型阵列出现~
所以才问有必要另外定义一个新型态来包含各种结构体吗?

不要選我當版主
2013-04-02 07:58
wube
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:23
帖 子:1820
专家分:3681
注 册:2011-3-24
收藏
得分:0 
这我知道~只是猜测是否能用这种方法偷鸡~让编程过程简单一些~
本来想建立适当的结构体让程序运行时~只需要输入指针起始和结束地址~
该结构就能依形态帮我解出地址范围中的各式资料~这样就简单多了~
想归想~但想不通实际做法~

不要選我當版主
2013-04-02 21:41
wube
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:23
帖 子:1820
专家分:3681
注 册:2011-3-24
收藏
得分:0 
如此说来VB6和VC6的结构大致上用途是相同的吗?
都只是储存资料的自定容器~不能拿来当筛子用~
苦活还是得自己干~一样要写个类或模块来做处理~
把数据丢到结构体中~再从外部对结构中资料进行二次处理~

这样字节对齐的真意就失去了~也许根本是我想多了~
以为找到更简便的方法~

不要選我當版主
2013-04-02 22:03
快速回复:关于字节对齐上的疑问
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.015633 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved