Convertion Hexa to déci en C
Bonjour,
Je veus créer un prog. en C permettant d'afficher un base 10 , un nombre exprimé en héxadécimal passé en argument de la ligne de commande. Par exemple la commande ./ hexa2int 1a affichera : 26
Voici ce que j' ai fais , mais ceci ne fonctionne pas.
Pourquoi ?
Code:
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
|
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main(int argc, char** argv)
{
int cpt;
int i;
int somme=0;
char tablettre[6];
int tabchiffre[6];
int tabvariable[6];
if (argc>1)
{
tablettre[0]='a';
tablettre[1]='b';
tablettre[2]='c';
tablettre[3]='d';
tablettre[4]='e';
tablettre[5]='f';
for(cpt=0;cpt<6;cpt++)
{
tabchiffre[cpt]=cpt+1;
}
for(cpt=1;cpt<argc;cpt++)
{
for(i=0;i<6;i++)
{
if(argv[cpt]==tablettre[i])
{
argv[cpt]=tabchiffre[i];
printf("oui");
}
else
{
printf("non");
}
}
}
for(cpt=1;cpt<argc;cpt++)
{
somme=somme+(argv[cpt])*pow(16,argc-cpt-1);
}
printf("La somme des entiers indiqués en argument est : %dn",somme);
}
else
{
printf("Vous devez rentrer un argument pour que le programme fonctionnen");
}
return 0;
} |
j'ai l'impression que le problème vient de
Code:
1 2
|
if(argv[cpt]==tablettre[i]) |
Merci
Re: Convertion Hexa to déci en C
Citation:
Envoyé par duranton
Je veux créer un prog. en C permettant d'afficher en base 10 , un nombre exprimé en héxadécimal passé en argument de la ligne de commande.
hex -> num : strtoul() avec 16
num - decimal - printf() avec "%d"