Advertisement
Guest User

stringfinder_file

a guest
Jan 21st, 2020
112
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.05 KB | None | 0 0
  1. #define _CRT_SECURE_NO_WARNINGS
  2. #include <stdlib.h>
  3. #include <stdio.h>
  4. #include <string.h>
  5. #include <malloc.h>
  6. #define S 100
  7.  
  8. int main()
  9. {
  10.     FILE* in;
  11.     in = fopen("in.txt", "r");
  12.     if (in == NULL)
  13.     {
  14.         puts("Can't open file!");
  15.         return 0;
  16.     }
  17.     int count = 0;
  18.     char p[100];
  19.     printf("Enter the pattern:\n");
  20.     scanf("%s", &p);
  21.     int n;
  22.     while (!feof(in))
  23.     {
  24.         char str[S];
  25.         fgets(str, S, in);
  26.         if (str[strlen(str) - 1] == '\n')
  27.             n = strlen(str) - 1;
  28.         else
  29.             n = strlen(str);
  30.         for (int i = 0; i < n; i++)
  31.         {
  32.             if (str[i] == p[0] && (i == 0 || !((str[i - 1] >= 'a' && str[i - 1] <= 'z') || (str[i - 1] >= 'A' && str[i - 1] <= 'Z') || (str[i - 1] >= '0' && str[i - 1] <= '9'))))
  33.             {
  34.                 int len = 1;
  35.                 int j = 1;
  36.                 int k;
  37.                 for (k = i + 1; str[k] == p[j] && k < n; k++)
  38.                 {
  39.                     len++;
  40.                     j++;
  41.                 }
  42.                 if (len == strlen(p) && !((str[k] >= 'a' && str[k] <= 'z') || (str[k] >= 'A' && str[k] <= 'Z') || (str[k] >= '0' && str[k] <= '9')))
  43.                     count++;
  44.             }
  45.         }
  46.  
  47.     }
  48.     printf("%s _ %d", p, count);
  49.     fclose(in);
  50.     return 0;
  51. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement