#include<string.h>
#include <conio.h> //getch()函数 的头文件
#include<stdio.h> //输入和输出函数的头文件
#include<stdlib.h> //exit函数的头文件
#include<malloc.h> //malloc函数的头文件
#include<iostream.h>
#define OVERFLOW -2 //溢出时的值为-2
#define OK 1 //成功时时的值为1
#define ERROR 0 //不成功时时的值为0
typedef int ElemType; //ElemType 任意的数据类型
typedef int Status; //ElemType 任意的数据类型
//--------------单链表存储结构---------------
//存储行号
typedef struct Lnode{
ElemType data; //数据域
struct Lnode *next; //指针域
}Lnode,*LinkList;
Status IninLinkList(LinkList &);
Status ListInsertfreq(LinkList &);
Status getnext(char *,int *);
Status Index(char *,char *,LinkList &,int ,int *);
Status ListInsertline(LinkList &,int );
Status printlines(LinkList &);
void main(void){
FILE *fp;
int i=0,j=0,k=1,line=1;
char filename[20];
char end='"',ch='"' ;
char buff[1025];
char searchwords[20][20]; //要找的词用二维数组存储~
LinkList L[20],head[20];
int kmp[20][50];//存储next 函数值的数组 这个是指针数组~~
printf("in put the file name\n");
scanf("%s",filename);
if((fp=fopen(filename,"r")) == NULL){
printf("can not open the file\n");
getch();
exit(0);
}
printf("**********************************************************\n");
//getch();
ch=fgetc(fp);
while( !feof(fp) ){