begin process at 2012 05 28 23:08:02
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C

 > 

Divers

 > 

Divers

 > 

convertion tab de char vers tab de int [C++]


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

convertion tab de char vers tab de int [C++]

vendredi 16 novembre 2007 à 11:10:41 | convertion tab de char vers tab de int [C++]

Selune6666

Bonjour,
Je suis actuellement sur un projet de convertisseur de base (dec, binaire, hexa , octal) en C++
Mon utilisateur entre le nombre a convertir dans un tableau de caractere. Nombre[]
Lorsque le nombre entré est un décimal , pour le convertir j'utilise ceci entier=atoi(nombre) la conversion char int se fait correctement.
Cependant lorsque le nombre entré est binaire , octal ou hexadécimal je dois convertir ce tableau de charractere en tableau d'entier afin d'effectuer les calculs par la suite et la mon probleme commence. On va nommer ce tableau d'entier , tab[].
Je n'arrive pas a effectuer cette convertion. J'ai chercher differente façon de le faire sans succes.
-convertion direct tableau char vers le tableau int
-j'ai essayer aussi , avec une variable entre les 2 tableaux: Un char prend la valeur de la premiere case du tableau de char puis je convertir cette variable  grace a la commande tab[1]=atoi(variable) cela ne marche pas non plus.  (j'utilise des boucle for hein ^^)
Je ne comprend pas pourquoi cela ne marche pas avec cette deuxieme methode.
Voila j'espere avoir exposer clairement mon pb en vous remerciant d'avance des pistes , methodes , solutions que vous pouvez me proposer.

 

vendredi 16 novembre 2007 à 11:39:30 | Re : convertion tab de char vers tab de int [C++]

Pistol_Pete

Si j'ai bien compris se que tu veux faire :

char test[9]="01000010";
    int tab[8],i=0;
    char *P,Tmp[2];

    Tmp[1]=0;
    P=test;
    do
    {
        Tmp[0]=*(P++);
        tab[i++]=atoi(Tmp);
    }
    while(*P!='\0');
Je pense que ton sousi venais du fait que lors du atoi tu faisais atoi(test[0]) or il faut absolument qu'il y ai un '\0' en fin de chaine.
A+
vendredi 16 novembre 2007 à 11:59:39 | Re : convertion tab de char vers tab de int [C++]

Selune6666

selon le deboggeur :
invalid conversion from char to const char

j'ai pas tout compris a ce que tu a marqué...

voici la partie de code en question:

char nombrex (la variable qui reçois),nombre[N] (le tableau de charact)
int tab[N] (mon tableau d'entier), taille (nombre de charactere ds tableau d'entier calculer dans une fonction précédente)

for(int i=0;i<taille;i++)
{
nombrex=nombre[i];
tab[i]=atoi(nombrex);
}

vendredi 16 novembre 2007 à 14:56:54 | Re : convertion tab de char vers tab de int [C++]

Pistol_Pete

Sur quelle ligne de mon code cela fait cette erreur!!
invalid conversion from char to const char
je supose que c'est sur  tab[i++]=atoi(Tmp);
mais ca compile très bien sur VS2005.

Tu as compiler avec quoi?

Fait attention avec  '\0' en fin de chaine!!!
vendredi 16 novembre 2007 à 18:23:49 | Re : convertion tab de char vers tab de int [C++]

SAKingdom

Membre Club
Ce n'est pas nécessaire d'utiliser atoi pour une chaine ascii.
Tu peux directement, à même la chaine, convertir en int sans utiliser un autre tableau.
Suffit de soustraire 0x30 je crois (le caractère '0')

char tmp[] = "54236", *c = tmp;

while(*c) {
    *c -= '0';
    c++;
}

Le 0 de fin de chaine sera toujours présent mais il suffit de ne pas le compter (taille du tableau - 1)

C++ (@++)



Cette discussion est classée dans : nombre, tableau, tab, char, convertion


Répondre à ce message

Sujets en rapport avec ce message

Tableau de char* [ par alex1er ] Salut a tousJ'aimerais faire la déclaration suivante dans mon code : char * swSurface[]; //Tableau de char * doncSeulement, le compilo me jete car le tableau char [ par dingue007 ] Voila je dois faire un prog en C++ : un tableau avec les mois de lannée et quand je tape un chiffre il me sort le mois ! mais je narrive pas a faire l Tableau et char to int [ par Niníel ] Bonjour!J'ai un tableau: chTabStart[64] dans lequel je rentre un nombre dans le format suivant: d_25 pour un nombre décimale par exemple. Donc dans mo Tableau suite... [ par Niníel ] Alors voila ma 2ème question de la journée :-PJ'ai un tableau de caractères 64 position: char Tab[64], un compteur: int inCompter et un tableau de 1 p passer un tableau de pointeurs en parametres [ par achirane ] bonjour,je debute en C (dur..) et j'ai un pb qui va surement vous faire ricaner ;-) :je voudrais passer un tableau de pointeurs en parametre a ma fonc Tableau à 2 dimension [ par manta7 ] Salut, depuis je sais pas combien de temps je galere juste pour passer un tableau a deux dimensionsVoici mon code,#include void tablo(char [][10]); m convertion pointeur vers tableau [ par gdpasmini ] Salut !Quelqu'un pourrait il me dire comment copier la chaine de caractere pointé par char * nom dans un tableau char name[] ??Merci d'avance ! tableau de chaine de caractère [ par fiorellafatma ] salut à tous je cherche à inverser les caractère des mot dans un tableau de mot voici montravail qui n'a pas marché et je vous demande de l'aide [^^p remplir un nombre dans un tableau [ par alex934 ] Bonjour, j'ai besoin de votre aide :) Voila je souhaite mettre un nombre stocké(int) dans un tableau exemple: int a=132; int tab[3]; je voudrais Besoin d'aide. [ par lui88 ] j'ai quelque soucis avec des erreurs que j'arrive pas a corrigéerror C2200:avertissement considere comme une erreur-aucun fichier genere.Warning C4996


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,608 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales