荔园在线

荔园之美,在春之萌芽,在夏之绽放,在秋之收获,在冬之沉淀

[回到开始] [上一篇][下一篇]


发信人: zzZzz (zzZzz), 信区: InstallBBS
标  题: Re: 谁给个象北大bbs的一周未上站的版主名单源程序?(转寄)[转载]
发信站: 荔园晨风BBS站 (Thu Apr 25 14:00:04 2002), 转信

【 以下文字转载自 zzZzz 的信箱 】
【 原文由 jjksam@bbs.edu.cn 所发表 】
发信人: yanglc.bbs@bbs.pku.edu.cn (谁都不守候), 信区: BBSMan_Dev
标  题: Re: 谁给个象北大bbs的一周未上站的版主名单源程序?
发信站: 北大未名站 (Sun Apr 21 12:21:30 2002)
转信站: SMTH!thunews.dhs.org!PKUBBS

过这里来问多好,我就可以拿附件发出来。

#include "bbs.h"
#include <string.h>
#include <stdio.h>
#include <time.h>

main()
{
        FILE    *fd1, *fd2, *fd3, *fd4;
        char    board[STRLEN], passwd[STRLEN], BM[STRLEN];
        char    board1[STRLEN], board2[STRLEN];
        char    *id;
        struct boardheader bh;
        struct userec user;

        sprintf(board, "%s/%s", BBSHOME, BOARDS);
        sprintf(passwd, "%s/%s", BBSHOME, PASSFILE);
        sprintf(board1, "%s/0Announce/board1", BBSHOME);
        sprintf(board2, "%s/0Announce/board2", BBSHOME);
        fd1 = fopen(board, "rb");
        fd2 = fopen(passwd, "rb");
        fd3 = fopen(board1, "w");
        fd4 = fopen(board2, "w");
        for ( ; ; ) {
                if (fread(&user, sizeof(user), 1, fd2) <= 0)
                        break;
                if (!strcmp(user.userid,"SYSOP")) continue;
                if (!(user.userlevel & PERM_BOARDS)) continue;
                fseek(fd1, 0, SEEK_SET);
                for ( ; ; ) {
                        if (fread(&bh, sizeof(bh), 1, fd1) <= 0)
                                break;
                        if (bh.BM[0] == 0)
                                continue;
                        strcpy(BM, bh.BM);
                        id = strtok(BM, " ");
                        for ( ; id != NULL; id = strtok(NULL, " ")) {
                                if (strcmp(user.userid, id) != 0)
                                        continue;
                                else {
                                        if ( time(NULL)-user.lastlogin >
7*86400 && time(NULL)-user.lastlogout > 7*86400)
                                                fprintf(fd3, "%s(%s)上次
上站时间: %s\n", id, bh.filename, ctime(&user.lastlogin));
                                        if ( time(NULL)-user.lastlogin >
 14*86400 && time(NULL)-user.lastlogout > 14*86400)
                                                fprintf(fd4, "%s(%s)上次
上站时间: %s\n", id, bh.filename, ctime(&user.lastlogin));
                                        break;
                                }
                        }
                }
        }
        fclose(fd1);
        fclose(fd2);
        fclose(fd3);
        fclose(fd4);
}
【 在 ryhbgs@smth.org (六六八八) 的大作中提到: 】
: 谁给个象北大bbs的一周未上站的版主名单源程序?
: 我也想在我们的bbs作一个!但不太懂c,
: 恳请各位大侠帮帮了!
: 小弟先谢了!


--
※ 来源:·北大未名站 bbs.pku.edu.cn·[FROM: 61.48.0.105]
--
※ 转载:·荔园晨风BBS站 bbs.szu.edu.cn·[FROM: 192.168.0.146]


[回到开始] [上一篇][下一篇]

荔园在线首页 友情链接:深圳大学 深大招生 荔园晨风BBS S-Term软件 网络书店