精華區beta SetupBBS 關於我們 聯絡資訊
#include <stdio.h> #include "bbs.h" main(int argc, char **argv) { FILE *fp, *fp2; char fname[80], dest[80]; int i,j,total; struct tm *ptime; time_t now; if (argc != 4) { printf("Usage: %s <cna board> <etc/out file> <number>\n", argv[0]); exit(-1); } sprintf(fname, BBSHOME "/boards/%s/.DIR", argv[1]); sprintf(dest, BBSHOME "/etc/%s", argv[2]); if (fp = fopen(fname, "r")) { fileheader fhdr; while (fread(&fhdr, sizeof(fhdr), 1, fp) == 1) total++; fclose(fp); } if (fp = fopen(fname, "r")) { fileheader fhdr; int color=1; i = j = 1; if ((fp2 = fopen(dest, "w+")) != NULL) { time(&now); ptime = localtime(&now); fprintf(fp2, "◇──春風新聞快報─────────────最後更新時 間:%02d/%02d %02d:%02d─◇\n", ptime->tm_mon + 1,ptime->tm_mday,ptime->tm_hour,ptime- >tm_min); while ( (fread(&fhdr, sizeof(fhdr), 1, fp) == 1) && j <= 8) { fhdr.title[50] = 0; /*if ( i >= (total-atoi(argv[3])) && j<=10 )*/ if ( i >= (total-atoi(argv[3])+1) && j<=9 ) { fprintf(fp2, " dm %d %s\n" , color,i,fhdr.title); color = ((color+1)%7)+1; j++; } i++; } fprintf(fp2,"◇────────────────────欲知詳情,請見 %s 版─◇\n",argv[1]); fclose(fp2); fclose(fp); } else fprintf(stderr, "`%s` opened error (for read)\n", fname); } }