Noam_15

Compare_Files I2-Version

Apr 3rd, 2017
191
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 2.05 KB | None | 0 0
  1.  
  2. #include <stdio.h>
  3. #include <stdlib.h>
  4. #include <string.h>
  5. enum status {success, fail};
  6.  
  7. void remove_Quotation_Marks (char str[], int len){
  8.     int i;
  9.     for(i=0;i<len;i++){
  10.         str[i] = str[i+1];
  11.     }
  12.     str[len] = NULL;
  13. }
  14.  
  15. void Check_characters_in_path(char str[]){
  16.     int i;
  17.     enum status f;
  18.     do{
  19.         f=success;
  20.         if (str[0]=='"' && str[strlen(str)-1]!='"'){
  21.             printf("*Illegal!*\nReinsert path:  ");
  22.             flushall();
  23.             gets(str);
  24.             f=fail;
  25.             continue;
  26.         }
  27.  
  28.         for (i=0;str[i]!=NULL;i++){
  29.             if (str[i]<0 || str[i]>126){
  30.                 printf("*Only English characters!*\nReinsert path:  ");
  31.                 flushall();
  32.                 gets(str);
  33.                 f=fail;
  34.                 break;
  35.             }
  36.         }
  37.     }while(f==fail);
  38. }
  39.  
  40.  
  41.  
  42. void main() {
  43.     enum status sss;
  44.     FILE *fp1,*fp2;
  45.     int q1,q2;
  46.     char str[250], ask;
  47.     printf("Compare 2 files  -I2 Version-     (Only English characters in the path please!)\n\n");
  48.  
  49.     do{
  50.         sss=success;
  51.         flushall();
  52.         printf("Enter first path:  ");
  53.         gets(str);
  54.         Check_characters_in_path(str);
  55.         if (str[0]=='"') remove_Quotation_Marks (str,strlen(str)-2);
  56.         fp1 = fopen(str , "rb");
  57.         if(fp1 == NULL){
  58.             printf("Can't open file\n");
  59.             goto ABC;
  60.         }
  61.  
  62.         printf("Enter second path:  ");
  63.         gets(str);
  64.         Check_characters_in_path(str);
  65.         if (str[0]=='"') remove_Quotation_Marks (str,strlen(str)-2);
  66.         fp2 = fopen(str , "rb");
  67.         if(fp2 == NULL){
  68.             printf("Can't open file\n");
  69.             goto ABC;
  70.         }
  71.  
  72.         ////  עד כאן קלטנו
  73.  
  74.         do{
  75.             if (feof(fp1)){
  76.                 if (!feof(fp2)) sss=fail;
  77.                 break;
  78.             }
  79.  
  80.             if (sss==fail) break;
  81.             fread(&q1, sizeof(int) ,1,fp1);
  82.             fread(&q2, sizeof(int) ,1,fp2);
  83.             if (q1 != q2){
  84.                 printf("Different value\n");
  85.                 sss=fail;
  86.             }
  87.         }while(1);
  88.  
  89.         (sss==success)? printf("The files are the same!\n"): printf("The files are NOT the same!\n");
  90.         fclose(fp1);
  91.         fclose(fp2);
  92.  
  93. ABC:
  94.         printf("\n\nAgain?  (Y/N)\n");
  95.         ask = getchar();
  96.         while(ask != 'y' && ask != 'Y' && ask != 'n' && ask != 'N'){
  97.             printf("Please enter Y/N!\n");
  98.             flushall();
  99.             ask = getchar();
  100.         }
  101.     }while(ask == 'y' || ask == 'Y');
  102.     gets(str);
  103. }
Advertisement
Add Comment
Please, Sign In to add comment