看板: BudaTech ◎ 佛典电子化讨论 板主: HeavenChow |
阅读文章: 第 1155/2032 篇 | 上篇 | 下篇 | 回覆 | 转寄 | 转贴 | m H d | 返回 |
发信人: "罗云" <kftseng@cc.nsysu.edu.tw>, 信区: BudaTech 标 题: Re: 检索测试 发信站: (NEWS/INFO) National Sun Yat-San University (Fri Jan 16 16:05:31 1998) 转信站: Lion!ccnews.nsysu!news.nsysu!not-for-mail 来 源: 140.117.250.25 Heaven <Heavenchow.bbs@buddha.cbs.ntu.edu.tw> 次写入到主题 <0000Ql$Wyx@buddha.cbs.ntu.edu.tw>... > ==> 於 邱大刚 (DavidChiou@Lion) 文中述及: > : 然後再用一个严谨的函式,以 ascii 128 等原理,将这 > : 50 笔中真正完全符合的给挑出来(或许有 48 笔。) > : 这样子比起从头到尾改成中文搜寻来得简单许多。 > 和大刚讨论後, 大概了解其所谓中文 filter , 的确是不错的方法. > 因为之前的作法, 必需要从头判断是否为中文, 也就是每一个字都要 > if asc(xx) > 128 then ..... > 这种判断的确花时间. 差不多只是把两行程式顺序巅倒而已. if (match) then if (asc(char) > 128) then endif endif if (asc(char) > 128) then if (match) then endif endif 其实可以不要用 c 内建的 strchr/strstr/index 等, 那些广用的函式有时也是 delay 的原因, 况且若用 的是 c 的话, 根本就可以用 if (char > 128) .... 犯不著 asc(char) 去多转一次 ascii 码. 甚至就直接合为一行了... 你到鹿苑主机中的 bbs 程式中去找一个 match() 的函式, 速度很快的... 我现在是离线写信, 没办法 查. 用 grep match *.c 应该就可以看到了. 应该是在 Feeling-x/MAIL2BBS 目录下吧? 找一下应该 就可以找到了. good luck. |
阅读文章: 第 1155/2032 篇 | 上篇 | 下篇 | 回覆 | 转寄 | 转贴 | m H d | 返回 |
□ 台大狮子吼佛学专站 http://buddhaspace.org |