作者scwg ( )
看板PttCurrent
标题Re: [问题] FileHeader 的结构???
时间Mon Aug 25 22:53:07 2008
※ 引述《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);
}
--
All this will not be finished in the first 100 days.
Nor will it be finished in the first 1,000 days,
nor in the life of this Administration,
nor even perhaps in our lifetime on this planet.
But let us begin.
-- John F. Kennedy, Inaugural Address
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.112.30.54
※ 编辑: scwg 来自: 140.112.30.54 (08/25 22:59)