#include "stdio.h" #include "stdlib.h" void crc(char *); unsigned int Htoi(char *); main() { FILE *f1; int rnd,i,adr,l,ct; char lin[80]; char Buf[2049]; rnd=0; printf("\r\nGenŠre un fichier (24C16.HEX) pseudo-al‚atoire !\r\n"); f1 = fopen("24C16.hex","wb+"); if (f1==NULL) { printf("\r\nNe peut pas ouvrir 24C16.HEX !\r\n"); exit(1); } printf("Appuyer sur une touche !\r\n"); while (kbhit()==0) rnd++; for (i=0; i<2048; i++) Buf[i] = random( rnd ); adr=i=ct=0; sprintf(lin,":00%04x00",adr); while (i<2048) { i++; ct++; adr++; if ( ct==16) { l=strlen(lin); sprintf(lin+l,"%02x", Buf[i] & 0x0ff); crc( lin ); fprintf(f1,"%s\r\n",lin); sprintf(lin,":00%04x00",adr); ct=0; } else { l=strlen(lin); sprintf(lin+l,"%02x", Buf[i] & 0x0ff); } } crc( lin ); fprintf(f1,":00000001FF\r\n"); fclose(f1); } void crc(char *str) { unsigned int i,chk; int nb; char hex[3]; chk=nb=0; hex[2]='\0'; for (i=3;i='0') && (str[i]<='9')) v+=str[i] - '0'; else if ( (str[i]>='A') && (str[i]<='F')) v+=str[i] - 'A'+10; else { v /=16; break; } } return( v); }