Advertisement
BleepsSkronks

Untitled

Mar 30th, 2023
586
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.33 KB | None | 0 0
  1. void search() {
  2.     FILE *fPointer;
  3.     char line[255];
  4.     char filename[100] = "input.txt";
  5.     char searchText[100] = "hello";
  6.  
  7.     // printf("Enter the file name: ");
  8.     // scanf(" %s", &filename);
  9.     // printf("Enter the text to search for: ");
  10.     // scanf(" %s", &searchText);
  11.  
  12.     fPointer = fopen(filename, "r");
  13.  
  14.     if (fPointer == NULL) {
  15.         printf("File could not be opened.\n\n");
  16.     }
  17.     else {
  18.         int lineNum = 1;
  19.         int totalInstances = 0;
  20.         char *instances[100];
  21.         int lineNumbers[100];
  22.         while (fgets(line, 255, fPointer)) {
  23.             char *searchPointer = strstr(line, searchText);
  24.             while (searchPointer != NULL) {
  25.                 instances[totalInstances] = &line[searchPointer-line];
  26.                 lineNumbers[totalInstances] = lineNum;
  27.                 printf("Line %d: %s", lineNum, &line[searchPointer - line]);
  28.                 searchPointer = strstr(searchPointer + 1, searchText);
  29.                 totalInstances++;
  30.             }
  31.  
  32.             lineNum++;
  33.         }
  34.         printf("\n%i occurence(s) of '%s' in %s:\n", totalInstances, searchText, filename);
  35.  
  36.         for (int i = 0; i < totalInstances; i++) {
  37.             printf("Line %i: %s\n", lineNumbers[i], instances[i]);
  38.         }
  39.         printf("\n");
  40.     }
  41.  
  42.      fclose(fPointer);
  43. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement