C language by keyword search folder in the file method

  • 2020-04-02 03:09:38
  • OfStack

This article illustrates the method of searching files in folders by keyword in C language. Share with you for your reference. The specific implementation method is as follows:

Method 1:


#include<iostream>
#include<string>
#include<io.h>
using namespace std;
void filesearch(string path,string mode)
{
  struct _finddata_t filefind;
  if(path[path.size()-1]=='\')
    path.resize(path.size()-1);
  string curr=path+"\*.*";
  int done=0,handle;
  if((handle=_findfirst(curr.c_str(),&filefind))==-1)
    return;
  while(!(done=_findnext(handle,&filefind)))
  {
    if(!strcmp(filefind.name,".."))
      continue;
    curr=path+"\"+filefind.name;
    if(strstr(filefind.name,mode.c_str()))
      cout<<curr<<endl;
    if (_A_SUBDIR==filefind.attrib)
      filesearch(curr,mode);
  }  
  _findclose(handle);   
}
void main()
{
  string path,mode;
  cout<<" Please enter the directory to search for "<<endl;
  cin>>path;
  cout<<" Please output include characters "<<endl;
  cin>>mode;
  filesearch(path,mode);
}

Method 2:


#include<stdio.h>
#include<string.h>
#include<dir.h>
#define SIZE 12
void find_creat_file(char *);
int main(void)
{
 char filename[SIZE];
 strcpy(filename,"filename");
 find_creat_file(filename);
 getch();
 return 0;
}
void find_creat_file(char *filename)
{
 struct ffblk ffblk;
 int done;
 done=findfirst("d:\filename",&ffblk,0);
 if(done==0)
 return 0;
 else
 mkdir("d:\filename");
}

Hope that the article described in the C programming language for you to help.


Related articles: