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

SL & STL C++ Discussion :

Récupérer des floats à partir d'une string


Sujet :

SL & STL C++

  1. #1
    Membre régulier Avatar de hamster
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    137
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Octobre 2003
    Messages : 137
    Points : 123
    Points
    123
    Par défaut Récupérer des floats à partir d'une string
    Bonjour,
    bien que ce genre de problème ait été déjà maintes fois résolu sur ce forum, et après une recherche avancée sur ce dernier qui s'est révelée infructueuse, je vous expose ma requete.

    J'ai une chaine de type string qui ressemble à ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    01x 245.29-104.43  14.26 -75.70 -34.64 124.96
    J'ai utilisé les balises [code] pour mettre en valeur les espaces.
    Mon but est de récupérer 6 nombres décimaux :
    • 245.29
    • -104.43
    • 14.26
    • -75.70
    • -34.64
    • 127.96

    Comme vous l'aures peut etre remarqué, il peut y avoir 0, 1 ou 2 (voire 3) espace(s) entre chaque nombre.
    En fait je me suis rendu compte que les nombres étaient affichés sur 7 caractères : 4 pour la partie entière, 1 pour le point, et 2 pour la partie décimale.

    Ma stratégie est donc de copier ma chaine par blocs de 7 caractères dans d'autres chaines.
    Seulement, après avoir feuilleté la FAQ (string, conteneurs), je vois pas trop comment faire.

    Je sais comment supprimer les caractères de départ 01x mais après...

    j'aurais besoin d'un petit coup de main !!
    Ce que je cherche est une méthode permettant de copier dans une chaine une partie d'une autre chaine en fonction d'indices.

    Merci

  2. #2
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 29
    Points : 26
    Points
    26
    Par défaut
    tu peux utiliser substr :

    std::string str = tachaine.substr (3, 7);
    cout << str << endl; // " 245.29"

    Tu parcours ta chaine en récupérant le bloc de 7 caractères à chaque fois.

  3. #3
    Membre régulier Avatar de hamster
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    137
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Octobre 2003
    Messages : 137
    Points : 123
    Points
    123
    Par défaut
    ça fonctionne au poil, merci beaucoup Kraz !

  4. #4
    Expert éminent sénior
    Avatar de Luc Hermitte
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2003
    Messages
    5 279
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Août 2003
    Messages : 5 279
    Points : 11 015
    Points
    11 015
    Par défaut
    Pourquoi tu n'utilises pas l'opérateur d'extraction ? Il est nickel pour ce genre de boulots.

  5. #5
    Membre régulier Avatar de hamster
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    137
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Octobre 2003
    Messages : 137
    Points : 123
    Points
    123
    Par défaut
    L'oopérateur d'extraction ?
    Pardon mais je ne crois pas savoir de quoi il s'agit

  6. #6
    Membre averti Avatar de niglo
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    379
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 379
    Points : 383
    Points
    383
    Par défaut
    Citation Envoyé par hamster
    L'oopérateur d'extraction ?
    Pardon mais je ne crois pas savoir de quoi il s'agit
    substr bien sur

  7. #7
    Membre régulier Avatar de hamster
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    137
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Octobre 2003
    Messages : 137
    Points : 123
    Points
    123
    Par défaut
    ben c'est ce que j'utilise !
    je comprends pas la remarque de luc Hermitte

  8. #8
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Points : 15 920
    Points
    15 920
    Par défaut
    L'opérateur d'extraction c'est >> (substr n'est pas un opérateur...).

  9. #9
    Membre averti Avatar de niglo
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    379
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 379
    Points : 383
    Points
    383
    Par défaut
    Citation Envoyé par Loulou24
    L'opérateur d'extraction c'est >> (substr n'est pas un opérateur...).
    Oui effectivement !!

Discussions similaires

  1. [MySQL] récupérer des images à partir d'une base de données mysql
    Par j_esti dans le forum PHP & Base de données
    Réponses: 11
    Dernier message: 21/04/2011, 13h34
  2. Réponses: 7
    Dernier message: 27/09/2010, 08h21
  3. Réponses: 4
    Dernier message: 13/04/2010, 07h03
  4. Réponses: 3
    Dernier message: 21/03/2009, 22h24
  5. Récupérer des données à partir d'une URL ?
    Par Bebert71 dans le forum Général JavaScript
    Réponses: 12
    Dernier message: 19/02/2009, 12h53

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