Bir dosyanın Checksum’ını (sağlama toplamı) hesaplayan C kodu

Checksum (sağlama toplamı) reliable data transfer (güvenilir veri transferi) nde kullanılan bir doğrulama yöntemidir, bir veri bir yerden başka bir yere gönderilirken örneğin A noktasından B noktasına gönderilirken Checksum’ı (sağlama toplamı) ile birlikte gönderilir, gönderilirken hesaplanan Checksum’a (sağlama toplamı)  C diyelim. Veri B noktasına ulaştığında da Checksum’ı (sağlama toplamı) hesaplanır burda hesaplanan Checksum’a (sağlama toplamı) da D diyelim. B noktasına ulaşan verinin doğruluğunu kontrol etmek için C ile D nin ikilik sayı tabanına göre complement’i (komplement i) toplanır eğer sonuç sıfıra eşitse A noktasından B noktasına ulaşan bilgi doğru demektir. Aşağıdaki kodda bir dosya içersindeki verilerin Checksum’ını (sağlama toplamı) hesaplayan C kodu var. Programda a.txt isimli dosyanın içeriğinin Checksum’ını (sağlama toplamı) hesaplıyor. Dilerseniz dosyanın adını değiştirerek başka dosyalar için de bu kodu kullanabilirsiniz.

#include<stdio.h>

int f1(const char *filename)
{
 FILE *f;
 char c;
 int sum=0;
 f=fopen(filename,”r”);
 if(f == NULL){
  printf(“error”);
 }

 c=fgetc(f);
 while(!feof(f))
 {
  sum+=c;
  c=fgetc(f);

 }
 fclose(f);
 return sum;
}
int main()
{
 printf(“%d\n”,f1(“a.txt”));
 return 0;
}

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak.