我这里有一个小程序是从WEB页里提取标题、内容、时间、来源等的,但是我要把这些内容提取到一个ACCESS数据库里的指定位置,该怎么做呢, 能否给出具体步骤或源代码呢?谢谢
程序:
#include "stdio.h"
#include "stdlib.h"
#include "ctype.h"#define T_NULL  0
#define T_TITLE 1
#define T_CONTEXT 2
#define T_SOURCE 3
#define T_DATE 4struct Node{
char  text;
struct Node *next;
};struct Node *create(int i)
{
struct Node *head,*p,*q;
int j;
for(j=0;j<i;j++)
{
q=(struct Node *)malloc(sizeof(struct Node));
if(!j)
head=p=q;
else
{
p->next=q;
p=q;
}
}
p->next=head;
return(head);
}void main()
{
FILE *fp,*fp1;
struct Node *sp,*head,*p,*q;
char *ofname,*sfname,*types,ch;
char titles[8]={'<','T','I','T','L','E','>','\0'},titles1[8];
char Srcs[11]={'h','r','e','f','=','h','t','t','p',':','\0'};
char Return='\n';
char type[15];
int i,k,flag,flag1=0,flag2=0,flag3=0,T_FLAG=T_NULL;
ofname=(char *)calloc(20,1);
sfname=(char *)calloc(20,1);
types=(char *)calloc(10,1);
printf("Enter the type of the web:");
scanf("%s",type);
printf("Enter the name of opened file:");
scanf("%s",ofname);
printf("Enter the name of saved file:");
scanf("%s",sfname);
if((fp=fopen(ofname,"r"))==NULL)
{
printf("\ncann't open the file.\n");
return;
} if((fp1=fopen(sfname,"w+"))==NULL)
{
printf("\ncann't open the file.\n");
return;
} types="类型:\0";
for(i=0;types[i]!='\0';i++)
fwrite(&types[i],1,1,fp1);
for(i=0;type[i]!='\0';i++)
fwrite(&type[i],1,1,fp1);
fwrite(&Return,1,1,fp1);

k=2;
for(i=0;i<7;i++)
titles1[i]=(char)tolower((int)titles[i]);
head=sp=create(20);
do
{
switch(T_FLAG)
{
case T_NULL:
    fread(&sp->text,1,1,fp); //find the time
if(sp->text=='t')
{
p=head;
while(p!=sp)
{
if(p->text==' '&&p->next->text=='a'&&p->next->next->text=='t'&&p->next->next==sp)
{
T_FLAG=T_DATE;
head=sp->next;
break;
}
p=p->next;
}
} //find the source
if(sp->text==':')
{
p=head;
while(p!=sp)
{
if(p->text==Srcs[0]&&p->next->text==Srcs[1])
{
flag=1;
q=p->next->next;
for(k=2;k<10;k++,q=q->next)
if(q->text!=Srcs[k])
{
flag=0;
break;
}
if(flag)
{
T_FLAG=T_SOURCE;
head=sp;
break;
}
}
p=p->next;
}
}     if(sp->text=='>')
{
while(head!=sp)
        if(head->text!='<')
        head=head->next;
        else
{
//find the title //capital
        p=head->next;
        if(p->text==titles[1])
{
        flag=1;
        p=p->next;
        for(k=2;k<7;k++,p=p->next)
        if(p->text!=titles[k])
{
        flag=0;
            break;
}
if(flag)
{
T_FLAG=T_TITLE;
head=p->next;
break;
}
} //lower
p=head->next;
if(p->text==titles1[1])
{
flag=1;
p=p->next;
for(k=2;k<7;k++,p=p->next)
if(p->text!=titles1[k])
{
flag=0;
break;
}
if(flag)
{
T_FLAG=T_TITLE;
head=p->next;
break;
}
}
//find the context
p=head->next;
if(p->text=='p'&&p->next->text=='>')
{
T_FLAG=T_CONTEXT;
head=p->next->next;
break;
} p=head->next;
if(p->text=='P'&&p->next->text=='>')
{
T_FLAG=T_CONTEXT;
head=p->next->next;
break;
}
head=head->next;
}
}
sp=sp->next;
break;
default:
switch(T_FLAG)
{
case T_TITLE:
if(!flag3)
{
    types="标题:\0";
i=0;
while(types[i]!='\0')
{
    fwrite(&types[i],1,1,fp1);
i++;
}
while(1)
{
    fread(&ch,1,1,fp);
if(ch=='<')
break;
    fwrite(&ch,1,1,fp1);
}
fwrite(&Return,1,1,fp1);

flag3=1;
}
T_FLAG=T_NULL;
break;
case T_CONTEXT:
if(flag1==0)
    types="正文:\0";
else
types=" \0";
i=0;
while(types[i]!='\0')
{
fwrite(&types[i],1,1,fp1);
i++;
}
while(1)
{
fread(&ch,1,1,fp);
if(ch=='<')
{
sp->text=ch;
break;
}
fwrite(&ch,1,1,fp1);
}
fwrite(&Return,1,1,fp1);
T_FLAG=T_NULL;
flag1=1;
                break;
case T_SOURCE:
if(flag2==0)
types="来源:http\0";
else
types="   http\0";
i=0;
while(types[i]!='\0')
{
fwrite(&types[i],1,1,fp1);
i++;
}
while(1)
{
fread(&ch,1,1,fp);
if(ch=='<')
{
sp->text=ch;
break;
}
fwrite(&ch,1,1,fp1);
}
fwrite(&Return,1,1,fp1);
T_FLAG=T_NULL;
flag2=1;
break;
case T_DATE:
types="时间:\0";
i=0;
while(types[i]!='\0')
{
fwrite(&types[i],1,1,fp1);
i++;
}
while(1)
{
fread(&ch,1,1,fp);
if(ch=='F')
{
sp->text=ch;
break;
}
fwrite(&ch,1,1,fp1);
}
fwrite(&Return,1,1,fp1);
T_FLAG=T_NULL;
break;
}
}
}while(!feof(fp));

for(i=0;i<19;i++)
{
p=head->next;
free(head);
head=p;
}

}