All pastes #255784 Raw Edit

hdump

public c v1 · immutable
#255784 ·published 2006-11-23 10:25 UTC
rendered paste body
#include <stdio.h>#include <string.h>int rempcar(char*nom,char*car,int *ln){  FILE * f;  int i=0;  char c;  int x=1;  int j=0;  int cc=1;  if((f=fopen(nom,"r"))==NULL)    {      printf("Erreur lors de l'ouverture du fichier.\n");      exit(0);    }  else    {      while(i<384)	{	  if((c=fgetc(f))!=EOF)	    car[i]=c;	  else	    {	      car[i]=0x00;	      cc=0;	      ln=j;	    }	  if(j==15 && cc)	    {	      x++;	      j=-1;	    }	  i++;	  j++;	}       fclose(f);      return x;    }}int main(int argc, char *argv[]){  FILE* f;  int nbc=0,continu=1,i=0,x=0,totalchar=0;  int zone1=0;  char c;  unsigned char car[384];  char *nom;  int ligne=0;  int ln=0;  nbc=strlen(argv[1]);  nom=(char*)malloc(nbc+1);  strcpy(nom,argv[1]);  if((f=fopen(nom,"r"))==NULL)                              // si erreur lors de l'ouverture du fichier    {      printf("Erreur lors de l'ouverture du fichier.\n");      exit(0);    }  else                                                     // sinon on fait le programme    {      ligne=rempcar(nom,car,&ln);      do	{	  printf("%05X\t",zone1);	  zone1+=16;	  i=0;	  while(i<16)	    {	      if(i==8)		printf(" ");	      if(car[x*16+i]==0x00 && ligne==1 && i>=ln)		printf("   ");	      else		printf("%02X ",car[x*16+i]);	      i++;	    }	  i=0;	  printf("\t");	  while(i<16)	    {	      if(car[x*16+i]>=30 && car[x*16+i]<=127)		printf("%c",car[x*16+i]);	      else if(car[x*16+i]==0x00 && ligne==1 && i>=ln)		{		  printf(" ");		  i=17;		}	      else		printf(".");	      i++;	    }	  ligne--;	  if(x==23 || ligne<1)	    {	      printf("\n");	      continu=0;	    }	  else	    printf("\n");	  x++;	}while(continu);    }  fclose(f);    return 0;}