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 :

Problème de conversion


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Février 2010
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 14
    Par défaut Problème de conversion
    Bonjour,

    J'ai une erreur que je n'arrive vraiment pas à résoudre ....

    Voici la fonction que j'appelle :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    arbre defineInt(char * element, arbre defGauche, arbre defDroit)
    {
    arbre arb;
    arb=(arbre)malloc(sizeof(noeud));
     
    arb->ope=(char)NULL;
    arb->value = element;
    arb->filsGauche=defGauche;
    arb->filsDroit=defDroit;
     
    return arb;
    }
    Et dans une autre fonction je déclare un char tmp[100] = ""; dans lequel j'ajoute des caractères de cette façon :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    sprintf(tmp,"%s%c",tmp,chaine[i]);
    // J'ai aussi essayé en faisant tmp[i] = chaine[i]
    Puis j'appelle ma fonction defineInt en y ajoutant mon paramètre tmp. Hors une fois arrivée dans la fonction, ma variable vaut plein de IIIIIII .... Alors que lors de l'appel tmp vaut bien par exemple 15 ....

    Merci d'avance pour votre aide.

  2. #2
    Invité(e)
    Invité(e)
    Par défaut
    Bonjour,

    Citation Envoyé par RodolpheL Voir le message
    Puis j'appelle ma fonction defineInt en y ajoutant mon paramètre tmp. Hors une fois arrivée dans la fonction, ma variable vaut plein de IIIIIII .... Alors que lors de l'appel tmp vaut bien par exemple 15 ....
    Peux tu nous montrer le code de defineInt avec ce paramètre supplémentaire ?

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Février 2010
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 14
    Par défaut
    En fait, je vais expliquer ce que prennent les variables lorsque je debug mon programme.

    par exemple :

    char tmp[sizeTab] = "";

    Après traitement d'une fonction, ma variable tmp = "15".
    Jusque là aucun problème.

    Hors une fois que j'appel :
    defineInt(tmp,NULL,NULL)

    Lors du débogage, ma variable element de la fonction defineInt qui aura la valeur du tmp dans mon cas présent aura :

    "ÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌQ"

    PS : J'ai copié la valeur à partir de visual studio ....

  4. #4
    Expert confirmé
    Avatar de diogene
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Juin 2005
    Messages
    5 761
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 761
    Par défaut
    Hors une fois que j'appel :
    defineInt(tmp,NULL,NULL)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    arbre defineInt(int element, arbre defGauche, arbre defDroit)
    Quel micmac : tmp est un tableau de char, pas un int. Le compilateur a certainement signalé cette erreur comme avertissement.

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Février 2010
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 14
    Par défaut
    Citation Envoyé par diogene Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    arbre defineInt(int element, arbre defGauche, arbre defDroit)
    Quel micmac : tmp est un tableau de char, pas un int. Le compilateur a certainement signalé cette erreur comme avertissement.
    Oups, excusez moi, j'ai mal copié le code, ma fonction defineInt prend bien en premier paramètre un char *.

  6. #6
    Invité(e)
    Invité(e)
    Par défaut
    Le problème est ici : Une copie de chaine de caratère ne se fait pas avec '=', mais avec str[n]cpy.

Discussions similaires

  1. problème de conversion de dimension dans BUSINESS OBJECT
    Par greatmaster1971 dans le forum Deski
    Réponses: 4
    Dernier message: 28/04/2014, 13h15
  2. - [CAST ou CONVERT] Problème de conversion de date
    Par Boublou dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 06/07/2004, 14h31
  3. Problème de conversion 3DS->.X
    Par JBernn dans le forum DirectX
    Réponses: 5
    Dernier message: 08/04/2004, 19h08
  4. Problème de conversion unicode
    Par djmalo dans le forum C
    Réponses: 5
    Dernier message: 09/03/2004, 11h48
  5. Réponses: 11
    Dernier message: 02/09/2003, 14h20

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