IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++Builder Discussion :

conver char tab en Ansisitring


Sujet :

C++Builder

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Avril 2008
    Messages
    279
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 279
    Par défaut conver char tab en Ansisitring
    salut a tous je doit effectuer une convertion binaire je dispose d'un tableau unsigned char et je pense que sa serai plus facile de le convertir ce tableau en AnsiString pour effectuer cette convertion. Si quelqu'un aurai une idée merci

  2. #2
    Membre Expert

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    1 407
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 1 407
    Par défaut
    Salut !

    En procédant ainsi :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    //Déclaration en global
    char Tab[]="1234";
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    AnsiString N = Tab;
    int n = N.ToInt();
    On peut faire aussi (ce qui revient à faire la même chose):

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    #define Nul 0
     
    char Tab[5] = {'1','2','3','4', Nul};
    REM : il ne faudra jamais altérer le dernier caractère Nul car il fixe la longueur de la chaîne dans ce tableau !
    On a bien sûr la possibilité de placer ce caractère Nul n'importe où dans ce tableau.

    A plus !

  3. #3
    Membre Expert
    Avatar de sat83
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2004
    Messages
    1 040
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2004
    Messages : 1 040
    Par défaut
    je dispose d'un tableau unsigned char
    Est ce que ton tableau ne contient que des caractères imprimables? Ou alors il peut y avoir n'importe quelles valeur entre 0 et 255?

  4. #4
    Membre éclairé
    Inscrit en
    Avril 2008
    Messages
    279
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 279
    Par défaut
    mon tableau contient des valeurs binaires ou decimales ou hexadicimales

  5. #5
    Membre Expert
    Avatar de sat83
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2004
    Messages
    1 040
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2004
    Messages : 1 040
    Par défaut
    Donc il n'y a pas d'intérêt à le convertir en AnsiString, tu aura des problèmes avec les caractères spéciaux qui pourront être mal interprétés.

    Poste un bout de code pour voir se que peut contenir ton tableau.

  6. #6
    Membre Expert

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    1 407
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 1 407
    Par défaut
    Salut !

    Ce serait bien d'en préciser le contenu !
    Partant de là on saurait quelle solution proposer (hexadécimal, ascii, octal, digit, binaire, ternaire, dromadaire, petit pois, lapin blanc ...) !

    On a également ceci en magasin :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    union U {
            int I;
            Byte T[4];
            };
     
    U u;
    Donc à l'usage :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    u.T[0] = 0x10;
    u.T[2] = 0x20;
    u.T[3] = 0x30;
    u.T[4] = 0x40;
    Label1->Caption = u.I;
    A plus !

  7. #7
    Membre éclairé
    Inscrit en
    Avril 2008
    Messages
    279
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 279
    Par défaut
    Dans mon tableau si c'est du:
    - binaire 110001..
    - decimal 1234567890
    - hexa 0123456789ABCDEF

    voila ce que j'ai dans mon tableau unsigned char

    Dans un programme que j'ai deja fait je m'etait mi deux fonctions qui lise dans un Edit sauf que le souci maintenant mais valeur sont dans un tableau unsigned char et c'est valeur son mise dans une StringGrid

    voici le code des deux foncions d'un programme qui me permeter de passe de hexa en binaire

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
     
    AnsiString Conv_hexa_bin( char val_hexa )
    {
    	//Declaration de variable
    	AnsiString  val_binaire;
     
            if(val_hexa=='0') val_binaire="0000";
            if(val_hexa=='1') val_binaire="0001";
            if(val_hexa=='2') val_binaire="0010";
            if(val_hexa=='3') val_binaire="0011";
            if(val_hexa=='4') val_binaire="0100";
            if(val_hexa=='5') val_binaire="0101";
            if(val_hexa=='6') val_binaire="0110";
            if(val_hexa=='7') val_binaire="0111";
            if(val_hexa=='8') val_binaire="1000";
            if(val_hexa=='9') val_binaire="1001";
            if(val_hexa=='A') val_binaire="1010";
            if(val_hexa=='B') val_binaire="1011";
            if(val_hexa=='C') val_binaire="1100";
            if(val_hexa=='D') val_binaire="1101";
            if(val_hexa=='E') val_binaire="1110";
            if(val_hexa=='F') val_binaire="1111";
     
    	//Declaration de variable
    	return (val_binaire);
    }
     
    AnsiString Conversion( AnsiString val_hexa )
    {
    	//On met ton en majuscule
    	val_hexa = UpperCase( val_hexa ) ;
     
    	//Declaration de variable
       	AnsiString result = "" ;
     
     	for( int i=1; i<= val_hexa.Length(); i++ ) 
         		result = result + Conv_hexa_bin(val_hexa[i]); 
     
    	//Retourne la result
      	return( result ) ; 
     
    }

Discussions similaires

  1. Réponses: 2
    Dernier message: 30/10/2014, 09h48
  2. Copie char *argv[] dans char *tab[]
    Par vegnagun dans le forum Débuter
    Réponses: 12
    Dernier message: 06/03/2012, 18h11
  3. const char *tab Vs char const *tab
    Par ikuzar dans le forum Débuter
    Réponses: 1
    Dernier message: 29/03/2011, 18h40
  4. Réponses: 2
    Dernier message: 28/05/2010, 18h46
  5. [tab de char] Diagramme de classe
    Par grmi91 dans le forum Diagrammes de Classes
    Réponses: 2
    Dernier message: 03/03/2007, 00h53

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo