Fonction atoi

Messages postés
2865
Date d'inscription
samedi 2 novembre 2002
Statut
Membre
Dernière intervention
11 mai 2009
- - Dernière réponse : cmarsc
Messages postés
455
Date d'inscription
mercredi 6 mars 2002
Statut
Membre
Dernière intervention
18 décembre 2003
- 3 janv. 2003 à 21:41
Salut,
en fait je voudrai savoir si la fonction atoi permet bien de transformé une chaine de caractere entré par un utilisateur par exemple en son equivalent decimal... Par exemple:
salut = 115 97 108 117 116
s a l u t

De passer de char vers int... Et si cette fonction permet bien de le faire... Si vous pourriez me donné un exemple svp car moi j'arrive pas a la faire fonctionner...
Merci d'avance...
Lord Bob
Afficher la suite 

5 réponses

Meilleure réponse
Messages postés
455
Date d'inscription
samedi 26 octobre 2002
Statut
Membre
Dernière intervention
6 avril 2004
7
1
Merci
je crois que ce que tu cherche à faire est plutôt du genre :
char salut[]="salut";
char* p=salut;
while (*p)
{cout << (int)*p << " "; p++;}

pas besoin de atoi

Dire « Merci » 1

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 219 internautes nous ont dit merci ce mois-ci

Commenter la réponse de cs_vieuxLion
Messages postés
2268
Date d'inscription
mercredi 27 novembre 2002
Statut
Membre
Dernière intervention
13 septembre 2013
3
0
Merci
Hello. Voici un extrait du cours Teach_Cpp téléchargeable sur www.developpez.com.

int atoi(char *chaîne); convertit la chaîne en entier
float atof(char *chaine); convertit la chaîne en réel

Exemple d'utilisation :
char texte[10];
int n;
cout<<"ENTRER UN TEXTE: ";
cin>>texte;
n = atoi(texte) ;
cout<<n; // affiche 123 si texte vaut "123"
//affiche 0 si texte vaut "bonjour"

J'éspère que ça pourra t'aider.
coockiesch
Commenter la réponse de coockiesch
Messages postés
249
Date d'inscription
mardi 16 juillet 2002
Statut
Membre
Dernière intervention
7 août 2003
1
0
Merci
atoi n'est pas fait pour ça !!
Elle transforme une chaîne da cractère en int mais seulement si il y a des chiffres dedans. Car si tu le savais pas char n'est pas une lettre mais un nombre avant tout stocké sur un octect en général:

atoi( "abcd" ); ne renverras rien
atoi( "123abc456" ); renverra 123
atoi( "123456" ); renverras 123456

c'est la même chose pour atof.
Commenter la réponse de trinitacs
Messages postés
2865
Date d'inscription
samedi 2 novembre 2002
Statut
Membre
Dernière intervention
11 mai 2009
8
0
Merci
un grand merci a toi vieuxLion, tu me sauve la vie... et une fois de plus je te remercie...
allé bonne prog a toi...
Lord Bob
Commenter la réponse de cs_LordBob
Messages postés
455
Date d'inscription
mercredi 6 mars 2002
Statut
Membre
Dernière intervention
18 décembre 2003
0
Merci
voici un exemple

#include <stdio.h>
#include <string.h>
#include <conio.h> // <conio.c> devc++4

static char *convertir_en_int(char *texte);

int main(void) {

char *texte = "SALUT !";
char *resultat_final;

resultat_final = convertir_en_int(texte);
gotoxy(1,1);
cprintf("Convertir \n%s",texte);

gotoxy(1,20);
cprintf("RESULTAT\n%s",resultat_final);

getch();
} // fin de main

static char *convertir_en_int(char *texte) {

static char resultat_final[500];
static char valeur_temporaire_int[5];
int longueur_du_texte = strlen(texte);
int i;


/* decomposer le texte */
for (i = 0; i < longueur_du_texte; i++) {

gotoxy(45,1+i); /* afficher les details */
cprintf ("%d %1c", texte[i],texte[i]);

sprintf(valeur_temporaire_int,"%d",texte[i]);
strcat(resultat_final,valeur_temporaire_int);

} /* fin de for (i ...) */

return resultat_final;
} /* fin de la fonction crypter */
Commenter la réponse de cmarsc