⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 test.c

📁 linux下的BBS
💻 C
字号:
#include <bbs.h>#include "dbz.h"intadd_mid (fd,msgid, path)int fd;char *msgid;char *path;{  HASH key;  long where;  char buf[255];  lseek(fd,where, SEEK_CUR);  sprintf(buf,"%s %s\n",msgid,path);  write(fd,buf,sizeof(buf));  strncpy (key.hash, msgid, 16);  if (dbzstore (key, where) < 0) {    fprintf (stderr, "cant store %s\n", msgid);    return (0);  }  return (1);}intquery_mid (fd,msgid, path)int fd;char *msgid;char *path;{  HASH key;  long where;  char buf[256];  strncpy (key.hash, msgid, 16);  where = dbzfetch (key);  if (where == NOTFOUND) {    fprintf (stderr, "line can't fetch %s\n", msgid);    return (0);  }  lseek(fd, where, SEEK_SET);  read(fd,buf,sizeof(buf));  printf("fgets %s\n",buf);  strncpy(path,buf,16);  return (1);}main (argc, argv)int argc;char **argv;{  char test[4096];  int ret;  long where,val;  int fd;  char history[] = "history";  long size, entry;  if (argc > 1) {    entry = atol (argv[1]);  } else {    entry = 100000;  }  size = dbzsize (entry);  dbzfresh ("history", size, 0);  dbmclose ();  fd = open(history,O_CREAT | O_WRONLY | O_APPEND, 0600);  if ( fd < 0 ) {	printf("fpi error \n");	exit(0);  }  dbminit (history);  ret = add_mid (fd,"<tttt.eeee.ssss>", "THIS_IS_1ST");  if (ret)    printf ("add 1st mid OK\n");  else    printf ("add 1st mid failed\n");  ret = add_mid (fd,"<bbbb.cccc.dddd>", "THIS_IS_2ND");  if (ret)    printf ("add 2st mid OK\n");  else    printf ("add 2st mid failed\n");  ret = query_mid (fd,"<tttt.eeee.ssss>", test);  if (ret)    printf ("query 1st ok : '%s'\n", test);  else    printf ("query 1st failed\n");  dbmclose ();  close(fd);}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -