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;
}
NOT: Kodu direk bir text dosyasına kopyalayabilirsiniz, C dosyasının adını dosyanınadı.C şeklinde kayıt türünü de tüm dosyalar olarak seçerek kaydedebilirsiniz. Artık C dosyanız çalışmaya hazır.