/**
Function: Get File checksum value for win32
Author: Tody Kwok
Revsion: 1.0.0.1
(c) Tody 2010
*/
#include <stdio.h>
#include <stdlib.h>
#include <conio2.h>
#define progname "wsum.exe"
#define header "(c) Tody 2010, FIC Inc."
void drawline()
{
int i=0;
textcolor(LIGHTBLUE);
for(i=0; i< 79; i++)
printf("-");
textcolor(WHITE);
}
int main(int argc, char *argv[])
{
FILE *f;
int ch = 0;
int i = 0;
unsigned int cksum= 0;

if (argc < 2)
{
printf("%s/nUsage:/n %s <filename>", header, progname);
return 1;
}
printf("%s/nCaculate in process, please wait.../n", header, progname);
_setcursortype(0); /* no cursor */
drawline();

for (i=1; i< argc; i++)
{
f = fopen(argv[i],"rb"); /* Open File */
if (f==NULL)
{
fprintf(stderr, "/n%s not found!/n",argv[i]);
continue;
}

printf("/nComputing.../r");
/* Caculate file checksum */
cksum = 0; /* Reset cksum to default */
ch = fgetc(f);
while(ch!=EOF)
{
cksum += ch;
ch = fgetc(f);
}
printf("checkSum: %04X | %s/n", cksum&0xffff, argv[i]);
drawline();
fclose(f);
}
printf("/nAll Done.");
getch();
return 0;
}