Pb conversion langage C...

Fermé
elodie - 26 nov. 2003 à 15:58
 marvinrouge - 26 mai 2004 à 17:55
Bonjour

Comment faire pour convertir un caractere en entier en langage C ?
exemple :
'2' est un caractere, on le veut en entier.

Merci
<au plaisir de vous recrire>
A voir également:

4 réponses

marvinrouge
26 mai 2004 à 17:55
Si tu veux convertir un caractère (par exemple 't') en son code asci tu fais

char c = 't'; // ou une autre valeur
int code = (int)c;

Si tu veux convertir un caractère qui réprésente un entier en sa valeur (par exemple '2' et 2)tu fais

char c = '2'; // ou une autre valeur
char zero = '0'; // ne pas changer cette valeur
int code = (int)c - (int)zero;

marvinrouge
1
Bah tu fais:
char t;
int nombre;
switch(t)
case "1":nombre=1;break;
....

:)
0
Nettogrof Messages postés 521 Date d'inscription lundi 29 septembre 2003 Statut Membre Dernière intervention 8 décembre 2005 672
26 nov. 2003 à 17:49
La technique du switch case, est valable, mais trop longue.

En voici une plus simple:

char lettreChiffre='5';
int nombre;

nombre=atoi(lettreChiffre);


je suis presque sûr, mais demande confirmation

Nettogrof tseb era seiromem emoS
0
gugull Messages postés 1 Date d'inscription mardi 19 août 2003 Statut Membre Dernière intervention 22 mai 2004
22 mai 2004 à 12:05
Bonjour à tous,
ayant perdu quelques heures avant de trouver une solution palliative temporaire, je me retourne vers des passionnés de la programmation en C. :-)

Mon problème est le suivant : je cherche à obtenir à partir du code d'un caractére ASCII dans la table du même nom, le caractère correspondant afin de le placer dans un tableau de caractère.
Je recherche désespérement une fonction réalisant l'opération inverse de ATOI.

Merci d'avance pour les éventuelle réponses.
0
Ravachol Messages postés 566 Date d'inscription vendredi 5 mars 2004 Statut Membre Dernière intervention 30 octobre 2005 120
22 mai 2004 à 15:11
Salut,
si le petit bout de code ci-dessous correspond bien à ce que tu veux faire la conversion est faite implicitement par le compilo en C

int main(int argc, char *argv[])
{
char car[3];

car[0] = 65;
car[1] = 66;
car[2] = 67;

// Petite vérif on affiche bien A, B, C
printf("%c, %c, %c\n", car[0], car[1], car[2]);
}

Pour la fonction inverse de "atoi" c'est "strtol"

A++

Ni l'ignorance n'est défaut d'esprit,
ni le savoir n'est preuve de génie. LUC DE CLAPIERS
0