কম্পিউটার

সি প্রোগ্রাম দুটি ফাইল তুলনা এবং অমিল রিপোর্ট


সি প্রোগ্রামিং ল্যাঙ্গুয়েজে, প্রোগ্রামার ফাইলগুলোকে অতিরিক্ত করতে পারে এবং সেগুলোতে কন্টেন্ট পড়তে ও লিখতে পারে।

একটি ফাইল হল একটি সরল মেমরি ব্লক যা তথ্য সঞ্চয় করতে পারে, এখানে আমরা শুধুমাত্র পাঠ্যের সাথে সংশ্লিষ্ট।

এই প্রোগ্রামে, আমরা দুটি ফাইলের তুলনা করব এবং অমিলের রিপোর্ট করব। এই ফাইলগুলি প্রায় অভিন্ন কিন্তু কিছু অক্ষর থাকতে পারে যা ভিন্ন। এছাড়াও, প্রোগ্রামটি ফাইলের লাইন এবং অবস্থান ফিরিয়ে দেবে যেখানে প্রথম অমিল ঘটে।

অ্যালগরিদম

Step 1: Open both the file with pointer at the starting.
Step 2: Fetch data from file as characters one by one.
Step 3: Compare the characters. If the characters are different then return the line and position of the error character.

উদাহরণ

#include<stdio.h>
#include<string.h>
#include<stdlib.h>
void compareFiles(FILE *file1, FILE *file2){
   char ch1 = getc(file1);
   char ch2 = getc(file2);
   int error = 0, pos = 0, line = 1;
   while (ch1 != EOF && ch2 != EOF){
      pos++;
      if (ch1 == '\n' && ch2 == '\n'){
         line++;
         pos = 0;
      }
      if (ch1 != ch2){
         error++;
         printf("Line Number : %d \tError"
         " Position : %d \n", line, pos);
      }
      ch1 = getc(fp1);
      ch2 = getc(fp2);
   }
   printf("Total Errors : %d\t", error);
}
int main(){
   FILE *file1 = fopen("file1.txt", "r");
   FILE *file2 = fopen("file2.txt", "r");
   if (file1 == NULL || file2 == NULL){
      printf("Error : Files not open");
      exit(0);
   }
   compareFiles(file1, file2);
   fclose(file1);
   fclose(file2);
   return 0;
}

আউটপুট

// content of the files
File1 : Hello!
Welcome to tutorials Point
File2: Hello!
Welcome to turoials point
Line number: 2 Error position: 15
Total error : 1

  1. লিনাক্সে ফাইল এবং ফোল্ডারগুলি কীভাবে পুনঃনামকরণ করবেন

  2. C ভাষায় ফাইলের putc() এবং getc() ফাংশন ব্যাখ্যা কর

  3. কীভাবে দুটি এক্সেল ফাইল তুলনা করবেন এবং পার্থক্যগুলি হাইলাইট করবেন

  4. উইন্ডোজ 10 এ ফোল্ডার এবং ফাইলের তুলনা কিভাবে করবেন।