Advertisement
semenrbt

coder

Feb 18th, 2020
148
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.67 KB | None | 0 0
  1. #include <stdio.h>
  2.  
  3. int Encoder(char fname1[], char fname2[], char key[]){
  4.     FILE *fp; FILE *fk;
  5.     if(fname1 == NULL || fname2 == NULL || key == 0) return -2;
  6.     int skey = 0, k = 0;
  7.     char val = 0;
  8.     while(key[skey] != 13) skey++;
  9.     if ((fp = fopen(fname1, "r")) == NULL)
  10.     {
  11.         getchar();
  12.         return -1;
  13.     }
  14.     if ((fk = fopen(fname2, "w")) == NULL)
  15.     {
  16.         getchar();
  17.         return -1;
  18.     }
  19.  
  20.  
  21.     while(fscanf(fp, "%c", &val) != EOF){
  22.         fprintf(fk, "%c", val^key[k]);
  23.         if(k == skey - 1) k = 0;
  24.         else k++;
  25.     }
  26.     fclose(fp);
  27.     fclose(fk);
  28.     return 0;
  29. }
  30.  
  31.  
  32. int LegitCheck(char fname1[], char fname2[])
  33. {
  34.     FILE *fp; FILE *fk;
  35.     if ((fp = fopen(fname1, "r")) == NULL)
  36.     {
  37.         getchar();
  38.         return -1;
  39.     }
  40.     if ((fk = fopen(fname2, "r")) == NULL)
  41.     {
  42.         getchar();
  43.         return -1;
  44.     }
  45.     char val1 = 0, val2 = 0;
  46.     while(fscanf(fp, "%c", &val1) != EOF && fscanf(fk, "%c", &val2) != EOF){
  47.         if(val1 != val2) return 0;
  48.     }
  49.     if(fscanf(fp, "%c", &val1) != EOF || fscanf(fk, "%c", &val2) != EOF) return 0;
  50.     return 1;
  51. }
  52.  
  53.  
  54. int main(){
  55.     int m1 = Encoder("file1.txt", "file2.txt", "");
  56.     if(m1 == -1){
  57.         printf("Unable to execute.\n");
  58.         return 0;
  59.     }
  60.     if(m1 == -2){
  61.         printf("Input error.\n");
  62.         return 0;
  63.     }
  64.     int m2 = Encoder("file2.txt", "file3.txt", "");
  65.     if(m2 == -1){
  66.         printf("Unable to execute.\n");
  67.         return 0;
  68.     }
  69.     if(m2 == -2){
  70.         printf("Input error.\n");
  71.         return 0;
  72.     }
  73.     printf("%d\n", LegitCheck("file1.txt", "file3.txt"));
  74.  
  75.  
  76.     return 0;
  77. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement