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++ Discussion :

valeur d'une variable qui change quand on la met dans buffer[i]


Sujet :

C++

  1. #1
    Membre confirm�
    Inscrit en
    Janvier 2007
    Messages
    65
    D�tails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 65
    Par d�faut valeur d'une variable qui change quand on la met dans buffer[i]
    Salut � tous,

    Voil� mon probl�me, j'ai le code suivant
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    unsigned char buffer[255];
    char canal[10]; //cette variable contient la valeur 25
    int canal_convert(0);
    //je converti canal en un entier
    canal_convert =atoi(canal); //canal_convert contient tjrs la valeur 25
    
    //je rempli un buffer de diff�rentes valeurs
    ...
    buffer[10] = canal_convert; //sauf que cette variable contient d�sormais la valeur 19!!!!
    Je ne comprend pas ce qui se passe!! o� est pass� mon 25???

    Merci de m'aider!!

  2. #2
    Invit�
    Invit�(e)
    Par d�faut
    j'aimerais bien savoir comment tu mets ton 25 dans canal !?

    sinon, as tu utilis� ton d�buggeur pour regarder step-by-step comment �voluent tes variables ?

  3. #3
    Membre Expert

    Profil pro
    Inscrit en
    Juin 2006
    Messages
    1 294
    D�tails du profil
    Informations personnelles :
    Localisation : Royaume-Uni

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 294
    Par d�faut
    Salut,

    19 c'est 25 en hexad�cimal, �a a sans doute un lien...

    MAT.

  4. #4
    Membre confirm�
    Inscrit en
    Janvier 2007
    Messages
    65
    D�tails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 65
    Par d�faut
    Bonjour
    merci pour vos r�ponses
    En fait la valeur 25 a �t� r�cup�r�e � partir d'un fichier et j'ai fait le step by step...�a cloche au niveau de buffer[11] = canal;

    J'aimerais savoir s'il n'existerait pas un moyen pour garder l'intgrit� de la valeur de ma variable!!

    Merci

  5. #5
    Invit�
    Invit�(e)
    Par d�faut
    Citation Envoy� par skyangel20
    �a cloche au niveau de buffer[11] = canal;
    tu m'�tonne ! on n'affecte pas de strings de style C (pointeurs de caracteres) avec l'op�rateur =.
    utilise strcpy() et ses variantes a la place !

  6. #6
    Membre confirm�
    Inscrit en
    Janvier 2007
    Messages
    65
    D�tails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 65
    Par d�faut
    En fait apr�s avoir bien chercher, il parait que puisque la valeur de 25 en hexa =19, je r�cup�re la valeur en hexa!!

    Il faut donc faire une routine bas� sur le code BCD pour pouvoir garder la valeur en d�cimal de canal!!!

    je posterais cette routine quand je l'�crirais!! au cas o� �a aiderais quelqu'un!!!


    Merci beaucoup, beaucoup pour toutes vos r�ponses...et tr�s tr�s bonne journ�e

  7. #7
    Membre confirm�
    Inscrit en
    Janvier 2007
    Messages
    65
    D�tails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 65
    Par d�faut
    Comme promis voici la fonctio qui permet de conserver la valeur en d�cimal d'une variable :

    int toBCD(char* X)
    {
    int X2 = atoi(X);
    int AH(X2/10);
    int AL(X2-AH*10);
    X2 = (AH<<4) | AL;

    return X2;

    }

    Bonne journ�e!!

Discussions similaires

  1. [PHP 5.4] r�cup�rer la valeur d'une variable qui se trouve dans un fonction
    Par aspkiddy dans le forum Langage
    R�ponses: 2
    Dernier message: 11/02/2014, 17h06
  2. R�ponses: 2
    Dernier message: 02/04/2008, 19h55
  3. [JMeter] R�cupration d'une variable qui change � chaque process
    Par vendeeman dans le forum Tests et Performance
    R�ponses: 3
    Dernier message: 11/12/2007, 12h00
  4. R�ponses: 5
    Dernier message: 04/12/2007, 19h30
  5. R�ponses: 7
    Dernier message: 16/06/2006, 16h31

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