Re: [问题] FileHeader 的结构???

楼主: scwg ( )   2008-08-25 22:53:07
※ 引述《VElysian (家瑀 致中和)》之铭言:
: 下面是我从 https://opensvn.csie.org/pttbbs/trunk/ 找到的 FileHeader
: 并且计算其长度如下:
: #define IDLEN 12 /* Length of bid/uid */
: #define TTLEN 64 /* Length of title */
: #define FNLEN 28 /* Length of filename */
: typedef struct fileheader_t
: { /* 128 bytes */
: ───────────────────────────────────────
: 型态 名称 长度 解释
: ───────────────────────────────────────
: 01 char filename[FNLEN] 28 ( 1~ 28)
: 02 time4_t modified 2 ( 29~ 30)
最后修改时间 (1970/1/1 起秒数) 4 ( 29~ 32)
: 03 char pad 1 ( 31~ 31)
未使用 ( 33~ 33)
: 04 char recommend 1 ( 32~ 32)
推荐数 ( 34~ 34)
: 05 char owner[IDLEN + 2] 14 ( 33~ 46)
发文者 ( 35~ 48)
: 06 char date[6] 6 ( 47~ 52)
发文日期字串 ( 49~ 54)
: 07 char title[TTLEN + 1] 65 ( 53~117)
文章标题 ( 55~119)
: 08 char pad2 1 (118~118)
未使用 (120~120)
: 09 union multi 8 (119~126)
文章价值/其它资料 4 (121~124)
: 10 unsigned char filemode 1 (127~127)
文章属性 (FILE_*) (125~125)
: 11 char pad3[3] 1 (128~128)
未使用 3 (126~128)
: ───────────────────────────────────────
: } PACKSTRUCT fileheader_t
: ───────────────────────────────────────
: 有一个地方我觉得怪怪的,
: 我对照了一下信件备份中的 .DIR 档,发现作者的字段好像是从位置 35 开始的...
: 请问为什么会这样呢?? 是我算错了吗???
: 另外再问一下上面每一个变量的功用以及应该要如何读取。 谢谢。 ^_^
FILE* fp = fopen(".DIR", "rb");
fileheader_t fh;
while(fread(&fh, sizeof(fh), 1, fp) == 1){
printf("Post %s from %s in file %s\n",
fh.title, fh.owner, fh.fileename);
}

Links booklink

Contact Us: admin [ a t ] ucptt.com