1-信息文本,2-目錄索引,3-日期索引。
每日將生成的三組文件上載到相應的子目錄即實現了對信息的每日更新。
方案的優點:
每日的維護簡單,操作容易,一般操作員都能很快上手。
整個操作安全穩定,不會出現連接中斷網址找不到的情況。
費用很低,不需要購買大型數據庫軟件和編寫專業的查詢軟件。
實現時間短,能夠在較短的時間裡實現信息的動態網上發布。
程序清單:
#include < stdio.h >
#include < string.h >
#include < conio.h >
#define LANXMAX 150
FILE *FileR,*FileW,*FileWIndex;
char Path1[]="c:\\html\\mrcj\\";
char Path2[]="c:\\html\\mrcj\\txt\\";
char Path3[50];
char Path4[]="c:\\html\\ccrindex.htm";
char Path5[]="c:\\html\\html.ini";
char Path6[]="c:\\html\\html-1";
char Path7[]="c:\\html\\html-2";
char Month[10],Date[10];
char FileName[50];
char FileNameIndex[20];
char FilePath1[50]; //...08\\
char FilePath2[50]; //...08\\jxxta\\
char WriteFileName[50];
char IndexFileName[50];
char FileBak[5];
char LanMu;
char Time[20];
char YEAR;
char IndexLANMU[6][19]={"中外財經要聞","法律法規政策","經濟形勢分析",
"企業改革透視","社會保障制度","改革發展研究"};
int FileNum;
int Yea,Mon,Dat;
void FileIni()
{
switch(Yea)
{
case 98:
case 1998:
YEAR='B';
break;
case 99:
case 1999:
YEAR='J';
break;
default: YEAR='B';
}
if(Yea< 100) Yea+=1900;
FileNum=0;
sprintf(FilePath1,"c:\\fl\\%02d\\",Dat);
sprintf(FileBak,".%1X%02d",Mon,Dat);
}
void AddFileProc(int num)
{
char FLanRead[LANXMAX];
char MainLan[LANXMAX];
char FENLEI[50];
char IndexLan[150];
int i;
sprintf(FENLEI,".中國改革.每日財經信息.%02d月%02d日\r<br>\r\n<br>\r\n",Mon,Dat);
printf("*");
sprintf(FileName,"%sjxxt%c%03d%s",FilePath2,LanMu,num,FileBak);
if(!(FileR=fopen(FileName,"rb")))
{
printf("cannot open this file\n");
return;
}
//-add htmlhead
fputs("< html > \r\n< body background="../../../../images/bk_creform.jpg\">\r\n",FileW);
//-add htmlhead
fputs(FENLEI,FileW);
fgets(FLanRead,LANXMAX-5,FileR);
//-add index procedure-
sprintf(IndexLan,"< a href=\"txt/%02d/%s\" target=\"new\">%s<br>\r",Dat,FileNameIndex,FLanRead);
//fputs("< br >",FileWIndex);
fputs(IndexLan,FileWIndex);
//-add index procedure-
while(!feof(FileR))
{
fputs("< br >",FileW);
fputs(FLanRead,FileW);
strcpy(FLanRead,"");
fgets(FLanRead,LANXMAX-5,FileR);
}
FLanRead[strlen(FLanRead)-1]='\0';
fputs("< br >",FileW);
fputs(FLanRead,FileW);
fclose(FileR);
fputs("\r\n",FileW);
//-add htmlend
fputs("< /body > \r\n< /html > \r\n",FileW);
//-add htmlend
}
void MakeMainFile()
{
FILE *fp,*fpp,*fppp;
char ccc,fn[50],fff[150];
int n,mm,ddd;
//---html-
if((fppp=fopen(Path4,"wb"))==NULL)
{
printf("不能打開目標文件!\n");
printf("Can not Write the file:%s\n",Path3);
return;
}
if((fpp=fopen(Path6,"rb"))==NULL)
{
printf("不能打開文件數目文件!\n");
printf("Can not Open the file:%s\n",fpp);
return;
}
ccc=fgetc(fpp);
do
{
fputc(ccc, fppp);
ccc=fgetc(fpp);
}while (!feof(fpp));
fclose(fpp);
if((fp=fopen(Path7,"rb"))==NULL)
{
printf("不能打開文件數目文件!\n");
printf("Can not Open the file:%s\n",fp);
return;
}
//-html-
if((fp=fopen(Path5,"rb"))==NULL)
{
printf("不能打開文件數目文件!\n");
printf("Can not Open the file:%s\n",fp);
return;
}
n=0;
fscanf(fp, "%d", &mm);
fscanf(fp, "%d", &ddd);
do
{
n++;
if(mm< 1||ddd< 1||mm >12||ddd >31)
{
printf("日期錯誤!\n");
printf("date is wrong in: c:\html\html.ini");
return;
}
//-add index procedure-
sprintf(fff,"<tr> <td align=\"center\" bgcolor=\"#FF0000\"><a href=\"../mrcj/INDEX%1X%02d.HTM\" \
target=\"right\" >%d月%d日</a></td></tr>\r",mm,ddd,mm,ddd);
fputs(fff,fppp);
//-add index procedure--
fscanf(fp, "%d", &mm);
fscanf(fp, "%d", &ddd);
}while((!feof(fp))&&(n< 25));
fclose(fp);
//-html-
if((fpp=fopen(Path7,"rb"))==NULL)
{
printf("不能打開文件數目文件!\n");
printf("Can not Open the file:%s\n",fpp);
return;
}
ccc=fgetc(fpp);
do
{
fputc(ccc, fppp);
ccc=fgetc(fpp);
}while(!feof(fpp));
fclose(fpp);
fclose(fppp);
//-html-
}
void AddFile()
{
FILE *fp;
char fn[50],fi[50];
int n;
sprintf(FilePath2,"%sjxxt%c\\",FilePath1,LanMu);
printf("\n%s",FilePath2);
sprintf(fn,"%sjxxt%cdat%s",FilePath2,LanMu,FileBak);
if((fp=fopen(fn,"rb"))==NULL)
{
printf("不能打開文件數目文件!\n");
printf("Can not Open the file:%s\n",fn);
return;
}
if(!fp)
return;
else
FileNum=fgetc(fp);
fclose(fp);
printf(" %02d ",FileNum);
for(n=1;n< =FileNum;n++)
{
sprintf(FileNameIndex,"%c%1X%02d%c%03d.HTM",YEAR,Mon,Dat,LanMu,n);
sprintf(WriteFileName,"%s%02d\\%s",Path2,Dat,FileNameIndex);
if((FileW=fopen(WriteFileName,"wb"))==NULL)
{
printf("不能打開目標文件!\n");
printf("Can not Write the file:%s\n",WriteFileName);
return;
}
AddFileProc(n);
fclose(FileW);
}
}
main()
{
FILE *findex;
int xx;
clrscr();
printf("-\n");
printf("CSRESR MRCJ TXT to HTML for CHINAREFORM.COM \n");
printf(" COPYRIGHT YINLU 1998.4.18 \n");
printf("-\n");
do
{
printf("\nPlease input the date(year month date):");
scanf("%d %d %d",&Yea,&Mon,&Dat);
}
while(!((Mon>0)&&(Mon<13)&&(Dat>0)&&(Dat<32)&&(((Yea>94)&&(Yea<99))||((Yea>1994)&&(Yea<1999)))));
FileIni();
MakeMainFile();
//-add index procedure-
sprintf(IndexFileName,"%sINDEX%1X%02d.htm",Path1,Mon,Dat);
if((FileWIndex=fopen(IndexFileName,"wb"))==NULL)
{
printf("不能打開目標文件!\n");
printf("Can not Write the file:%s\n",IndexFileName);
return 0;
}
fputs("< !DOCTYPE HTML PUBLIC \"-//IETF//DTD HTML//EN\" >\r",FileWIndex);
fputs("< html > \r< head > \r",FileWIndex);
fputs("< meta http-equiv=\"Content-Type\" \r",FileWIndex);
fputs("content=\"text/html; charset=gb_2312-80\" >\r",FileWIndex);
fputs("< meta name=\"GENERATOR\" content=\"Microsoft FrontPage 2.0.yinlu\" >\r",FileWIndex);
fputs("< title >中國改革.每日財經信息.目錄 < /title >\n< /head > \r",FileWIndex);
fputs("< body background=\"../../images/bk_creform.jpg\" >\r",FileWIndex);
fputs("< table border=\"0\" width=\"100%\" bgcolor=\"#FF0000\" > \r",FileWIndex);
fputs("< tr >\r",FileWIndex);
fputs("< td align=\"center\" >< a href=\"#中外財經要聞\"name=\"head\" >
< font color=\"#FFFFFF\" face=\"黑體\" >< strong >中外財經要聞< /strong >< /font >
< /a >< /td > \r",FileWIndex);
fputs("< td align=\"center\" >< a href=\"#法律法規政策\" >< fontcolor=\"#FFFFFF\" face=\"黑體\" >
< strong >法律法規政策< /strong >< /font >< /a >< /td > \r",FileWIndex);
fputs("< td align=\"center\" >< a href=\"#經濟形勢分析\" >< fontcolor=\"#FFFFFF\" face=\"黑體\" >
< strong >經濟形勢分析< /strong >< /font >< /a >< /td > \r",FileWIndex);
fputs("< /tr >< tr >\r",FileWIndex);
fputs("< td align=\"center\" >< a href=\"#企業改革透視\" >< fontcolor=\"#FFFFFF\" face=\"黑體\" >
< strong >企業改革透視< /strong >< /font >< /a >< /td > \r",FileWIndex);
fputs("< td align=\"center\" >< a href=\"#社會保障制度\" >< fontcolor=\"#FFFFFF\" face=\"黑體\" >
< strong >社會保障制度< /strong >< /font >< /a >< /td > \r",FileWIndex);
fputs("< td align=\"center\" >< a href=\"#改革發展研究\" >< fontcolor=\"#FFFFFF\" face=\"黑體\" >
< strong >改革發展研究< /strong >< /font >< /a >< /td > \r",FileWIndex);
fputs("< /tr >\n< /table >\n\n",FileWIndex);
//-add index procedure-
for(LanMu='A',xx=0;LanMu< ='F';LanMu++,xx++)
{
//-add index procedure--
switch(xx)
{
case 0:
fputs("< p >< a name=\"中外財經要聞\" >中外財經要聞 < br >\n< /a > \r",FileWIndex);
break;
case 1:
fputs("< p >< a name=\"法律法規政策\" >法律法規政策 < br >\n< /a > \r",FileWIndex);
break;
case 2:
fputs("< p >< a name=\"經濟形勢分析\" >經濟形勢分析 < br >\n< /a > \r",FileWIndex);
break;
case 3:
fputs("< p >< a name=\"企業改革透視\" >企業改革透視 < br >\n< /a > \r",FileWIndex);
break;
case 4:
fputs("< p >< a name=\"社會保障制度\" >社會保障制度 < br >\n< /a > \r",FileWIndex);
break;
case 5:
fputs("< p >< a name=\"改革發展研究\" >改革發展研究 < br >\n< /a > \r",FileWIndex);
break;
}
fputs(" \n\0",FileWIndex);
//-add index procedure-
AddFile();
fputs("< /p > \n< p >< a href=\"#head\" >返回頁首< br > \n\0",FileWIndex);
}
//-add index procedure-
fclose(FileWIndex);
//-add index procedure-
printf("\nAdd File is Succeed!\nPress Any Key To EXIT! \n");
return 1;
}