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 :

Extraction de valeur (stringstream)


Sujet :

SL & STL C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre émérite Avatar de jmelyn
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Septembre 2007
    Messages
    703
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Septembre 2007
    Messages : 703
    Par défaut Extraction de valeur (stringstream)
    Bonjour,

    Voici le problème que je rencontre:
    J'ai un tableau binaire en mémoire dans lequel il y a des entiers, des chaines de caractères, toussa. À partir d'un pointeur sur la bonne case, je sais que les 16 octets suivants représentent un nombre uint32_t dans le format texte (avec un '\0' à la fin), genre: "12345\0".

    J'ai essayé le code suivant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    595 uint32_t value;
    596 char* pValue = pArray + offset;
    597 istringstream valueStream(string(pValue));
    598 valueStream >> value;
    Mais la compilation me sort l'erreur:
    sys.cpp:598: error: invalid operands of types `std::istringstream ()(std::string)' and `int32_t' to binary `operator>>'

    Mes questions sont:
    Ai-je utilisé la bonne méthode?
    Le cas échéant où ai-je fait l'erreur?

  2. #2
    Membre émérite

    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    717
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 717
    Par défaut
    La ligne 597 déclare une fonction retournant un istringstream et prenant un paramètre pValue de type string, d'où le message d'erreur.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    istringstream valueStream(pValue);

  3. #3
    Membre émérite Avatar de jmelyn
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Septembre 2007
    Messages
    703
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Septembre 2007
    Messages : 703
    Par défaut
    Ben voilà, c'est tout. La correction fonctionne parfaitement. Pourtant le code suivant est valide:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    string valueString;
    istringstream valueStream(valueString);
    valueStream >> value;
    Merci beaucoup Sylvain pour l 'info.

  4. #4
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 035
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur expert
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2004
    Messages : 10 035
    Par défaut
    Citation Envoyé par Sylvain Togni Voir le message
    La ligne 597 déclare une fonction retournant un istringstream et prenant un paramètre pValue de type string, d'où le message d'erreur.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    istringstream valueStream(pValue);
    Bonjour,
    ????
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    istringstream valueStream(pValue);
    appèle le constructeur qui prend en paramère une string... non?

  5. #5
    Rédacteur/Modérateur
    Avatar de JolyLoic
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    5 463
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2004
    Messages : 5 463
    Par défaut
    Citation Envoyé par Mongaulois Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    istringstream valueStream(pValue);
    appèle le constructeur qui prend en paramère une string... non?
    Oui, mais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    istringstream valueStream(string(pValue));
    Est équivalent à :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    istringstream valueStream(string pValue);
    Une des horreurs de la syntaxe de déclaration du C++...
    Ma session aux Microsoft TechDays 2013 : Développer en natif avec C++11.
    Celle des Microsoft TechDays 2014 : Bonnes pratiques pour apprivoiser le C++11 avec Visual C++
    Et celle des Microsoft TechDays 2015 : Visual C++ 2015 : voyage à la découverte d'un nouveau monde
    Je donne des formations au C++ en entreprise, n'hésitez pas à me contacter.

  6. #6
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 035
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur expert
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2004
    Messages : 10 035
    Par défaut

    ah ok.
    Ben j'aurai appris un truc...
    merci

  7. #7
    Membre Expert
    Avatar de poukill
    Profil pro
    Inscrit en
    Février 2006
    Messages
    2 155
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 2 155
    Par défaut
    Pareil que Mongaulois, quand j'écris :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    std::string machaine = std::string("hop") + std::string("hip") ;
    C'est débile ?

    Car ici, au moins un des deux std::string() est obligatoire, non ?

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. probleme d extraction de valeurs d'une tree
    Par adam57 dans le forum Forms
    Réponses: 6
    Dernier message: 24/03/2008, 21h30
  2. Extraction de valeurs d une iteration
    Par mfontan dans le forum MATLAB
    Réponses: 16
    Dernier message: 18/01/2008, 16h13
  3. Extraction de valeurs - matrice des distances
    Par progfou dans le forum Algorithmes et structures de données
    Réponses: 21
    Dernier message: 06/04/2007, 17h14
  4. Extraction des valeurs hexa d'un champ char
    Par Krispi dans le forum Fortran
    Réponses: 3
    Dernier message: 21/11/2005, 11h10
  5. [Tableaux] Extraction de valeur dans un tableau
    Par pirouette_07 dans le forum Langage
    Réponses: 6
    Dernier message: 21/10/2005, 17h54

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