Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <sys/types.h>
- #include <dirent.h>
- #include <string.h>
- #include <ctype.h>
- int open_files(char *name, char *way, char *keywords);
- int get_word(char *keywords, int i, char *word);
- int search_word(char *word, FILE *file);
- int main()
- {
- char *keywords;
- scanf("Enter keywords: %s",keywords);
- // char *keywords="flag hello keyword";
- DIR *dir;
- struct dirent *entry;
- char *dirinput="./search/";
- dir = opendir(dirinput);
- if (dir == NULL)
- {
- perror("error dir open =(");
- return 1;
- }
- while ( (entry = readdir(dir)) != NULL)
- {
- char *name = entry->d_name;
- printf("%s\n", name);
- if (strcmp(name,"..")==0 || strcmp(name,".")==0)
- continue;
- char way[50] = "./search/";
- if (open_files(name,way,keywords))
- return 1;
- // while (getc(file) != EOF)//
- // {
- // }
- // fclose(file);
- }
- closedir(dir);
- return 0;
- }
- int open_files(char *name, char *way, char *keywords)
- {
- strcat(way,name);
- FILE *file;
- file = fopen(way,"rwe");
- if (file == NULL)
- {
- perror("error file open )=");
- return 1;
- }
- char *word;
- int i=0;
- while((i=get_word(keywords, i, word)) != -1)
- {
- if (search_word(word,file))
- printf("%s\n", way);
- }
- fclose(file);
- return 0;
- }
- int get_word(char *keywords, int i, char *word)
- {
- for (i; i<strlen(keywords); i++)
- {
- if (!isblank(keywords) && keywords != "\n")
- keywords[i] = word[i];
- else
- return -1;
- }
- return i;
- }
- int search_word(char *word, FILE *file)
- {
- char sym;
- char *fileword;
- int j=0;
- while ((sym=getc(file)) != EOF)
- {
- if (!isspace(sym))
- {
- fileword[j]=sym;
- j++;
- }
- j=0;
- if (!strcmp(word,fileword))
- return 1;
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement