représenation hexa cstring
Répondre à la discussion
Affichage des résultats 1 à 17 sur 17

représenation hexa cstring



  1. #1
    invite9b88e44f

    représenation hexa cstring


    ------

    Bonjour!Est ce que quelqu'un saurait comment obtenir la représentation hexadécimale d un cstring?

    -----

  2. #2
    invite9b88e44f

    Re : représenation hexa cstring

    Je précise: en c++

  3. #3
    r0d

    Re : représenation hexa cstring

    Bonjour,

    tu parles des CString de la MFC?
    Que veux-tu dire par "représentation hexadécimale d'un cstring"?
    Est-ce que tu es dans un environnement "managé" (.Net/CLI) ?

  4. #4
    invite9b88e44f

    Re : représenation hexa cstring

    Oui les cstring MFC. Je m explique:j ai une variable dans mon application qui prendra des valeurs qui sont des chaines de caractères,par exemple "michel".Je veux pouvoir obtenir la représentation hexa de "michel",pour ensuite l écrire dans un fichier texte.
    Et je suis sous visual c++

  5. A voir en vidéo sur Futura
  6. #5
    r0d

    Re : représenation hexa cstring

    Si je comprends bien tu voudrais obtenir, au final, un fichier qui va contenir ça:
    Citation Envoyé par 'michel' en hexa
    6d696368656c
    Si c'est le cas, je sais le faire en c++ standard, mais avec la MFC, je ne sais pas trop, je vais voir ça de suite.

    ps: en c++ standard (portable et tout) ça donnera ceci:

    Code:
    #include <string>
    #include <fstream>
    
    using namespace std;
    
    int main(int argc, char** argv)
    {
    	string str = "michel";
    	ofstream file("c:/temp/michel.txt");
    
    	for (int i=0; i<str.length(); i++)
    	{
    		file << hex << (int) str[i];
    	}
    
    	return 0;
    }

  7. #6
    invite9b88e44f

    Re : représenation hexa cstring

    Oui c est bien ca que je veux faire.
    J ai fait:

    using namespace std;
    string str=nom__variable;
    ofstream file("texte");
    for (int i=0;i<str.lenght();i++)
    {
    file<<hex<<(int) str[i];
    }

    mais il me met comme erreur: lenght is not a member of 'basic_string<char,struct std::char__traits<char>,class std::allocator<char>'...

  8. #7
    r0d

    Re : représenation hexa cstring

    Bon, je ne parviens pas à trouver une solution en utilisant la MFC. Mais cette ... chose (la MFC est plus qu'un bibliothèque, c'est difficie à définir) est loin d'être à la hauteur de la lib standard. Mais je m'égare.

    Pour ton code, as-tu bien inclus les en-têtes (#include <string> et #include <fstream>)?
    Ces en-têtes appartiennent, justement, à la bibliothèque standard du c++ (c99).

  9. #8
    invite9b88e44f

    Re : représenation hexa cstring

    Oui c est la première chose que j ai faite pourtant...

  10. #9
    invite9b88e44f

    Re : représenation hexa cstring

    Bon en fait c est juste moi qui avait mis lenght au lieu de length...Mais ca ne me met rien dans mon fichier texte...Est ce que ca peut venir du fait que je l ai rempli avec des fprintf?

  11. #10
    r0d

    Re : représenation hexa cstring

    ok je vois.
    Alors ce que tu vas faire, c'est supprimer le "using namespace std;" et rajouter std:: devant chaque utilisation d'un objet de la STL, ce qui devrait donner ceci:
    Code:
    std::string str=nom__variable;
    std::ofstream file("texte");
    for (int i=0;i<str.lenght();i++)
    {
    file<<std::hex<<(int) str[i];
    }
    Au passage, quel est le type de nom_variable? Et est-ce normal que le nom de ton fichier ("texte") n'a pas d'extension?

  12. #11
    r0d

    Re : représenation hexa cstring

    Citation Envoyé par bob la truite Voir le message
    Bon en fait c est juste moi qui avait mis lenght au lieu de length...Mais ca ne me met rien dans mon fichier texte...Est ce que ca peut venir du fait que je l ai rempli avec des fprintf?
    Oui bien évidemment... le code que je te fournis ici utilise les flux de la STL, c'est du c++, fprintf est une fonction de la lib C, il ne sont pas fait pour être utilisé ensemble.

  13. #12
    invite9b88e44f

    Re : représenation hexa cstring

    Non non déslé c'est texte.txt.Et la variable c'est un CString.Je viens de faire les modi que tu viens de m indiquer mais ca ne change rien...

  14. #13
    invite9b88e44f

    Re : représenation hexa cstring

    Bah pour l instant j ai tout le temps utilisé les flux avec les fprintf et ca marchait nickel...

  15. #14
    r0d

    Re : représenation hexa cstring

    Bon et bien je ne sais pas.
    Si tu pouvais me donner un peu plus de détails (code + messages d'erreur), je pourrais te conseiller plus efficacement.

  16. #15
    invite7a8ce750

    Re : représenation hexa cstring

    Citation Envoyé par r0d Voir le message
    ok je vois.
    Alors ce que tu vas faire, c'est supprimer le "using namespace std;" et rajouter std:: devant chaque utilisation d'un objet de la STL[...]
    Ça rajoute du code et donc limite la lisibilité; je ne vois pas d'intérêt ici à faire cela.

    Sinon pour le problème de bob:
    Code:
    using namespace std;
    string str=nom__variable;
    ofstream file("texte");
    
    for (int i=0;i<str.length();i++)
    {
        file<<hex<<(int) str[i];
    }
    Est-ce que tu es sur que « nom__variable » est une variable non vide ?
    Procède à un affichage pour t'en assurer.
    Autre chose: le nom d'une variable doit être explicite (« nom__variable » ne l'est pas) et il vaut mieux éviter de mélanger anglais et français, sauf pour s'attirer du trouble. Donc si tu choisis « nom__variable », alors écris « fichier » plutôt que « file ».

    Est ce que
    Code:
    using namespace std;
    cstring str="blabla";
    ofstream file("texte.txt");
    
    for (int i=0;i<str.length();i++)
    {
        file<<hex<<(int) str[i];
    }
    fonctionne ? (avec les bonnes entêtes bien sûr)

  17. #16
    invite9b88e44f

    Re : représenation hexa cstring

    Non ca ne marche pas non plus...Mais ce que je me demande c 'set si j ai utilisé des fprintf avant,et que je l ai crée avec un fopen, est ce que je peux continuer de le remplir avec ofstream?...

  18. #17
    invite9b88e44f

    Re : représenation hexa cstring

    C'est bon problème réglé:j ai viré tous mes fprintf pour les remplacer par des flux,et maintenant ca marche.Merci de votre aide

Discussions similaires

  1. conversion Hexa-BCD en assembleur
    Par invite1fe4e213 dans le forum Électronique
    Réponses: 19
    Dernier message: 24/06/2009, 12h58
  2. Conversion en Hexa vers BCD
    Par invitec7160702 dans le forum Électronique
    Réponses: 18
    Dernier message: 11/02/2007, 22h49
  3. Correspondance hexa -> couleur
    Par invite5c80985b dans le forum Logiciel - Software - Open Source
    Réponses: 8
    Dernier message: 26/05/2004, 15h05
  4. Conversion hexa en BCD sur PIC
    Par invite46123e47 dans le forum Électronique
    Réponses: 2
    Dernier message: 14/04/2004, 09h17
  5. Hexa-lifter
    Par invite7aa685b3 dans le forum Physique
    Réponses: 12
    Dernier message: 02/04/2004, 20h54
Dans la rubrique Tech de Futura, découvrez nos comparatifs produits sur l'informatique et les technologies : imprimantes laser couleur, casques audio, chaises gamer...