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 :

casting DWORD en string, garder la m�me valeur


Sujet :

SL & STL C++

  1. #1
    Membre chevronn� Avatar de titouille
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    353
    D�tails du profil
    Informations personnelles :
    �ge : 45
    Localisation : Suisse

    Informations forums :
    Inscription : Juin 2005
    Messages : 353
    Par d�faut casting DWORD en string, garder la m�me valeur
    Bonjour !!!

    Alors vala, �a va peut-�tre paraitre simple, mais perso, je n'y suis pas arriv�...

    Je r�cup�re un num�ro de s�rie via la fonction GetVolumeInformation. Ce dernier est de type DWORD. Dans mon cas, sur un drive pr�cis, il me retourne -1860057003.

    Maintenant, j'aimerai pouvoir le transtyper en "string" pour pouvoir le manipuler plus facilement. Alors je mets en oeuvre un ostringstream dans l'espoir de le "caster" en string :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
     
        std::ostringstream oss1;
        oss1 << NumSerie;
        std::string result1 = oss1.str();
    Mais au final, result1 contient la valeur suivante : 2434910293

    Alors que j'aimerai avoir -1860057003, vous pensez bien

    Si vous avez une piste, je suis preneur.

    D'avance merci

  2. #2
    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
    Piste : 2434910293 et -1860057003 correspondent � une m�me repr�sentation binaire interpr�t�e comme unsigned dans le premier cas et signed dans le second

  3. #3
    Membre chevronn� Avatar de titouille
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    353
    D�tails du profil
    Informations personnelles :
    �ge : 45
    Localisation : Suisse

    Informations forums :
    Inscription : Juin 2005
    Messages : 353
    Par d�faut


    vi, je m'en �tais dout�... mais �a ne m'aide pas vraiment...

    A ce que je sache, je ne suis pas en train de travailler avec des "nombres"...

    Le DWORD me retourne la bonne valeur. Mais le casting en string non... c'est l� que �a fusionne un peu, car je ne vois (comprend) pas pourquoi la valeur est modifi�e de unsigned en signed...

    Je viens de faire des recherches � nouveau sur le sujet, et j'ai fais quelques tests qui me plongent encore plus dans le floue...

    Tu me dis que DWORD est un "substitut" (une sorte de typdef) pour les unsigned...
    Alors je me suis dit qu'en tentant, d'apr�s d'autres exemples, de faire un sprintf pour passer la valeur dans un char, que je vais ensuite passer � un ostringstream pour en faire un string...

    Seulement... je pensais mettre %u pour passer un unsigned, mais si je fais �a, je me retrouve avec la valeur sign�e, alors que si je passe un %i, j'ai la bonne valeur...
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
     
    	char s[10];
    	sprintf( s, "%i", NumSerie );
    	fprintf( stderr, "\nthis is a test... %s", s );

    Bon, apr�s tests, �a passe comme une lettre � la poste, mais je reste tr�s confus sur le %u et %i...

    Si tu peux m'expliquer en quelques mots le pourquoi du comment, �a serai vraiment tr�s sympathique de ta part


    Merci beaucoup.

Discussions similaires

  1. R�ponses: 11
    Dernier message: 27/03/2015, 12h51
  2. [AC-2007] Garder la m�me valeur pr�c�dente pour le nouvel enregistrement
    Par austin974 dans le forum Access
    R�ponses: 3
    Dernier message: 22/03/2015, 15h32
  3. [MySQL] Garder m�me valeur d'un select apr�s actualisation
    Par Anibel dans le forum PHP & Base de donn�es
    R�ponses: 4
    Dernier message: 07/11/2013, 06h55
  4. [WRS] Garder la m�me valeur de filtre entre deux sections
    Par Dr Byby'San dans le forum Outils BI
    R�ponses: 2
    Dernier message: 16/07/2013, 19h44
  5. R�ponses: 7
    Dernier message: 03/01/2006, 23h54

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