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 :

Conversion des variables (langage C)


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre actif
    Homme Profil pro
    Inscrit en
    Juin 2011
    Messages
    74
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juin 2011
    Messages : 74
    Par défaut Conversion des variables (langage C)
    Bonjour à tous et à toutes
    j'aimerai bien convertir un tableau de type char en un variable de type float et un autre de type char.
    voici un extrait du code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    char code[8];
    char aide;
    float calcul;
    /////
    aide=*(&tab[0]);
    calcul=*(&tab[0]);
    le probléme c'est que lorsque j'affiche le contenu de ces variables, je constate que l'information est complètement perdue!!!!
    quelqu'un peut m'aider
    merci d'avance

  2. #2
    Membre Expert
    Avatar de kwariz
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Octobre 2011
    Messages
    898
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2011
    Messages : 898
    Par défaut
    salut,

    que cherches-tu à faire ? parser une chaine pour en extraire un float ? et dans l'autre cas, que veux-tu faire en assignant une chaine à un char ?

  3. #3
    Membre très actif
    Femme Profil pro
    Étudiant
    Inscrit en
    Janvier 2012
    Messages
    183
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2012
    Messages : 183
    Par défaut
    Comment veux tu convertir un char en float ? est ce que tu parles de la surcharge comme en c++ ? tu dois donner plus de détails sur ce que tu veux faire

  4. #4
    Membre chevronné

    Profil pro
    Inscrit en
    Août 2007
    Messages
    179
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 179
    Par défaut
    Effectivement ce que tu souhaites faire n'est pas très clair, essaye d'être un peu plus explicite.
    En attendant tu devrais jeter un œil à la fonction atof

  5. #5
    Expert confirmé
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    4 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Lead Dev Python
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2006
    Messages : 4 062
    Par défaut
    Bonjour,

    J'ai lu le man de atof, et je vois quelque chose qui me choque

    atof() ne détecte pas d'erreur
    Je trouve cela risqué non?

    Mais heureusement, le man d' atof, nous amène à une autre fonction qui elle détecte l'erreur, strtod.

    Y a-t-il une raison souhaitable à choisir atof, plutôt que strtod?

  6. #6
    Membre Expert
    Avatar de kwariz
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Octobre 2011
    Messages
    898
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2011
    Messages : 898
    Par défaut
    Salut,

    tu as raison , il est beaucoup plus robuste d'utiliser strtod car tu peux vérifier que la chaine ne contenait qu'un réel valide et dans le cas contraire traiter l'erreur ou continuer sur un traitement approprié.
    Cela dépend fortement de la confiance que tu accordes au fichier lu, et à la profondeur du traitement de l'erreur que tu désires faire. Ensuite ton rayon d'action est large :

    • lire uniquement ce que tu t'attends à trouver
      la gestion des erreurs se limitant au minimum : soit le fichier est valide et tu le traites ou tu quittes l'appli
      Ex: Le fichier provient d'un appli et son format est toujours strictement respecté.
    • lire une chaine, la tokeniser,vérifier la cohérence avec le format attendu
      la profondeur de la gestion est libre, mais si elle est poussée il vaudra mieux se diriger vers un autre solution.
      Ex : Une entrée d'utilisateur
    • lire un fichier binaire qui correspond exactement à une structure
      le fichier n'est pas très human readable en général
      te lie fortement à un format plus ou moins fixe
    • utiliser un format plus ou moins standard pour lequel tu as des fonctions d'accès/bibliothèques : csv, xml, ...
      OK le boulot est fait par un tiers, mais qui en général est bien testé
      Te permet de choisir la bibliothèque la mieux adaptée suivant tes besoins (lire un xml soit via SAX soit via DOM par exemple).
    • créer ton parser pour un format particulier
      un peu comme le cas d'avant sauf que tu définis finement ton format, ou tu récupères des grammaires existantes.
      Te permet de faire une gestion très fine des erreurs, d'être flexible sur les récupérations, etc, mais en général ça fait du boulot (au moins en apprentissage)

Discussions similaires

  1. souci de conversion des types variables
    Par halil.zakaria dans le forum C++
    Réponses: 11
    Dernier message: 04/02/2013, 00h39
  2. Réponses: 35
    Dernier message: 14/11/2008, 15h30
  3. Gestion des variables - mémoire ?
    Par RIVOLLET dans le forum Langage
    Réponses: 4
    Dernier message: 26/10/2002, 12h44
  4. [VB6] [Fichier] Enregistrer des variables de structure
    Par de.bo dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 07/10/2002, 11h09
  5. Réponses: 4
    Dernier message: 18/07/2002, 13h32

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