回精華區
作者itoc (worm.twbbs.org), 信區: plan
標題[功能] find_title.c 搜尋所有文章標題
時間Wed Aug 28 01:27:24 2002 Updated: 2005/05/19
  把全站看板的文章標題都搜尋一遍

: src/util/Makefile 加入 find_title

EXE =   ... find_title

: src/util/find_title.c 新增程式如下

/*-------------------------------------------------------*/
/* util/find_title.c    ( NTHU CS MapleBBS Ver 3.10 )    */
/*-------------------------------------------------------*/
/* target : 搜尋所有看板全部文章標題                     */
/* create : 03/04/26                                     */
/* update : 05/05/19                                     */
/* author : itoc.bbs@bbs.tnfsh.tn.edu.tw                 */
/*-------------------------------------------------------*/


#include "bbs.h"


static char *keyword;


static void
do_find(brdname)
  char *brdname;
{
  int i, fsize;
  char folder[64];
  HDR *hdr;

  printf("開始搜尋 %s 板\n", brdname);

  brd_fpath(folder, brdname, FN_DIR);
  if (hdr = (HDR *) f_img(folder, &fsize))
  {
    fsize /= sizeof(HDR);
    for (i = 0; i < fsize; i++)
    {
      if (strstr(hdr[i].title, keyword))
        printf("[%s] %s\n", brdname, hdr[i].title);
    }

    free(hdr);
  }
}


int
main(argc, argv)
  int argc;
  char *argv[];
{
  int num;
  BRD brd;

  if (argc != 2)
  {
    printf("%s keyword\n", argv[0]);
    return 0;
  }

  chdir(BBSHOME);

  keyword = argv[1];

  num = 0;
  while (!rec_get(FN_BRD, &brd, sizeof(BRD), num))
  {
    if (*brd.brdname)
      do_find(brd.brdname);
    num++;
  }
  printf("找完所有看板\n");

  return 0;
}

--
□ 本文章由 itocitoc.Dorm-GD2.NCTU.edu.tw 發表
精華選讀←離開[主題上]主題下(k)上篇(j)下篇S/a搜尋 G串列 TAB精華 ↑↓捲 Pg/Space翻