Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 30/08/2006, à 12:17

Bouazza

[C++] Convertir Hex en String

Bonjour à tous ,

voilà , j'ai fait une fonction qui devrait convertir un string représentant un nombre en héxadécimal en un string .
Par exemple 4040 devrait représenter @@ .
Mais mon programme plante à l'execution , je précise que je n'ai aucune warning .
Voilà le code :

std::string hex_string(const char *string){
     int hex_table[15];
     hex_table[0]=(int)"0";
     hex_table[1]=(int)"1";
     hex_table[2]=(int)"2";
     hex_table[3]=(int)"3";
     hex_table[4]=(int)"4";
     hex_table[5]=(int)"5";
     hex_table[6]=(int)"6";
     hex_table[7]=(int)"7";
     hex_table[8]=(int)"8";
     hex_table[9]=(int)"9";
     hex_table[10]=(int)"a";
     hex_table[11]=(int)"b";
     hex_table[12]=(int)"c";
     hex_table[13]=(int)"d";
     hex_table[14]=(int)"e";
     hex_table[15]=(int)"f";
     std::string result;
     int i=0,n=0,ascii_value=0,tmp=-1;
     bool add_to_string=false;
     const char *ptr=string;
     while(ptr[i]!='\0')
     {
     if(!add_to_string){
       while(hex_table[++tmp]!=ptr[i]);
       ascii_value+=tmp*16^n;
       if(n==1){
       add_to_string=true;
       n=0;
       }
       else n++;
     }
     else{
       add_to_string=false;
       result+=(char)ascii_value;
     }
     }
     return(result);
}

Merci d'avance pour toute réponse .

Hors ligne

#2 Le 30/08/2006, à 12:41

ffomnislash

Re : [C++] Convertir Hex en String

tu parle de convertir un string machin en string truc mais en entré tu a un char* ?

Si tu peut effectivement avec un string en entré alors fait comme ceci:
- conversion string -> int
- conversion int hexa -> int dec
- conversion int -> string
Je suis sur que les 3 fonctions existent deja.

A propos de ton code:
Pourquoi utiliser ptr au lieu de la variable string directement ?


-- Mon blog --

Hors ligne

#3 Le 30/08/2006, à 13:44

Bouazza

Re : [C++] Convertir Hex en String

Ah beh au début j'utilisait ptr++ , mais depuis que je l'ai utilisé comme un tableau , j'ai oublié de l'enlever et d'utiliser string[i] à la place tongue
Mais je ne veux pas qu'on me dit d'utiliser d'autres fonctions , je veux savoir pourquoi mon code ne marche pas !
Merci d'avance pour toute réponse .

Hors ligne