1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116
| #include<stdlib.h>
#include<stdio.h>
void BinHexaCON(char *hexa,int *x0);
int main()
{
FILE *fichier_lu = NULL;
FILE *fichier_convertit;
char bin[8];
int b[10],i,n;
char caracter = 0;
/*ouvertur du fichier a convertir*/
fichier_lu = fopen("ACQ_b05698858.dat","rb");
if(fichier_lu != NULL)
{
/*fichier accueillant la convertion hexa*/
fichier_convertit = fopen("ConversionUP.txt","w+");
if(fichier_convertit != NULL)
{
do {
caracter = fgetc(fichier_lu);
/* On vérifie que le caractère lu soit bien en valeur binaire */
if ((caracter >= '0') && (caracter <= '1'))
{
//convertion
bin[0] = caracter;
//BinHexaCON();
char *hexa;
int *x0;
BinHexaCON(&hexa[0], &b[3], &b[2], &b[1], &b[0]);
// fprintf(fichier_convertit,"%s",/*b[0],b[1],b[2],b[3]*/fichier_convertit);
fprintf(fichier_convertit,"%d",i,n);//"%d%d%d%d",b[3],b[2],b[1],b[0]);
// fprintf(fichier_convertit,"%s",fichier_convertit);
}
} while (caracter != EOF);
}
}
}
/* fonction convertissant un caractère héxadécimal en binaire sur 4 bits. Retourne -1 si le
* caractère à convertir n'est pas valide, 0 sinon. */
int BinToHexa (int bin,char *x0)
{
switch (bin)
{
case 0000 : *x0 = '0';
break;
case 0001 : *x0 = '1';
break;
case 0010 : *x0 = '2';
break;
case 0011 : *x0 = '3';
break;
case 0100 : *x0 = '4';
break;
case 0101 : *x0 = '5';
break;
case 0110 : *x0 = '6';
break;
case 0111 : *x0 = '7';
break;
case 1000 : *x0 = '8';
break;
case 1001 : *x0 = '9';
break;
case 1010 : *x0 = 'A';
break;
case 1011 : *x0 = 'B';
break;
case 1100 : *x0 = 'C';
break;
case 1101 : *x0 = 'D';
break;
case 1110 : *x0 = 'E';
break;
case 1111 : *x0 = 'F';
break;
default : return -1;
}
//return 10;
}
/*
while(caracter != EOF)
{
caracter = fgetc(fichier_lu);
if ((caracter >= '0') && (caracter <= '1'))
{
goto convertion;
}
else
{
;
}
if((caracter != EOF))
{
bin[0] = caracter;
BinHexa();
fprintf(fichier_convertit,"%d%d%d%d");
}
else
{
;
}*/ |
Partager