看板PttSuggest
标 题Re: 推文
发信站批踢踢兔 (Fri Mar 5 17:00:29 2004)
转信站ptt!Group.NCTU!grouppost
※ 引述《[email protected] (哭哭馒头比较漂亮)》之铭言:
: ※ 引述《monsa (不能原谅的事)》之铭言:
: : 那不然
: : 可不可以先把推文和文章的档案分开
: : 各自独立一个档案
: : 这样子就可以写单独删除推文的指令了
: 这样子的话 more.c 就要重写了 @_@;;;;
加个索引来定址每段推文的位置,这样要删的时候就可以很快的找到,不过有个
问题是: 文章被重新编辑後就不行了 @@ 那个索引档就报废了 XD 而且档案系统
会有一堆小小碎碎的档案
要不然... 瞬间有另一个想法:
分开推文的档案,该档案前若干位元组内含原文的结尾位置,然後有新的推文时
同步新增到推文档案与原始文档。
然後要删除第 K (K>=0) 笔推文时,就重新把第 K+1 笔到最後笔写回原始文档
(原始文档结尾 + K * 每笔推文长度) 好像推文的长度是固定 79 bytes 貌 ?
或是在那一行以 " <本推荐文已被 xxxx 删除> " 的字样盖过,等 I/O load 低
时在 compact (像删文那样子)
然後要编辑原文时,可以把推文部分先裁掉,这样就不会有乱改推文的问题。改
完再把推文黏回去原文尾巴 (或许再加上编辑时间等提醒被编辑过用的字样 ?)
不过... 档案系统还是有一堆细细碎碎的档案... ^^| 这应该可以用一些资料库
的方法处理掉 (还是乾脆塞到资料库里 @@ 不过酱子好像就破坏了 BBS 的工程
美感了)
Anyway, 酱子 more.c 就不用重写了 ^^Y
然後... 如果要实作删推文的功能的话,希望能够保留仅把数字归零,因为有时
候只是不想看到一堆花花绿绿的数字 ^^""
--
强求的东西 还是会走的
--
※ 发信站: 新批踢踢(ptt2.cc)
◆ From: 210.85.191.102