• 大小: 4KB
    文件类型: .cpp
    金币: 1
    下载: 0 次
    发布日期: 2021-06-09
  • 语言: C/C++
  • 标签: TXT  关键字  检索  c++  

资源简介

用c++编写的程序。问题描述:输入关键字,在指定的一个(或多个)文本文件中查找关键字。若文本中有关键字的内容,显示其位置(说明:未附要进行检索的txt文件)。

资源截图

代码片段和文件信息

#include 
#include
#include
#include
#define MAX 3000 //文章字符长度的上限
#define NUM 5    //最大的文件输入个数
using namespace std; 
//----------------------------
//------定义串----------------
typedef struct
{char ch[MAX];
int len;
}SqString;
SqString s[NUM]t;
//----------------------------
char file[NUM][32];


int main()
{
//--------函数声明------------
void enterkey();//输入关键字
void files();//指出搜索范围
void Isearch(SqString []SqString);//开始搜索
//----------------------------
//------串长度的初始化--------
s[0].len=-1;
t.len=-1;
//----------------------------
char choice;

 while(choice!=‘Q‘||choice!=‘q‘)
 { 
  cout<  <<“F----指出搜索范围\n“ 
  <<“S----开始搜索\n“
  <<“Q----退出\n“ 
  <<“注1:搜索区分大小写\n“
  <<“注2:搜索出的内容用“<<‘\“‘<<“[]“<<‘\“‘<<“标出\n“
  <<“注3:支持泛匹配搜索“<<‘\“‘<<“?“<<‘\“‘<<“表示任意字符\n\n“
  <<“输入您的选择:“; 
  cin>>choice;
  //----------------------------
        //防止未输入关键字和指出搜索范围就调用搜索函数

  if(choice==‘S‘||choice==‘s‘)
  {if(s[0].len==-1||t.len==-1)
   while((choice==‘S‘||choice==‘s‘))
   {cout<    <    cin>>choice;
   }
  }
  //----------------------------
  switch(choice)
  { 
  case ‘I‘: enterkey(); break;
  case ‘i‘: enterkey(); break;
  case ‘F‘: files(); break;
  case ‘f‘: files(); break;
  case ‘S‘: Isearch(st); break; 
  case ‘s‘: Isearch(st); break;
  case ‘Q‘: return 0; 
  case ‘q‘: return 0; //选择的字母大小写兼容
  default: cout<  }
 }
return 0;
}

void enterkey()//输入关键字
{string key;int i=0;
cout<cin>>key;
//SqString t;//定义子串t
while(key[i]!=‘\0‘)
{t.ch[i]=key[i];i++;}
t.len=i;
t.ch[i]=‘\0‘;//作为子串结束符
}

void files ()//指出搜索范围
{
 char content[NUM][MAX];
 int nijk;
 FILE *fp[NUM];
 //----------------------------
 //---主串成员ch[]的初始化-----
 for(i=0;i  for(j=0;j   s[i].ch[j]=‘\0‘;
 //----------------------------
 cout<<“输入要搜索的文件个数(不超过5):“;
 cin>

评论

共有 条评论