|
Bas de page | |
---|---|
Auteur | Sujet : Convertir une chaine en hex ? |
Publicité | Posté le 03-08-2005 à 09:35:56 |
NullDragon | Merci mais je ne comprends pas très bien ce que fait le code, peux-tu commenter stp ?
|
theshockwave I work at a firm named Koslow | en hexa, A, ca vaut 10 ... après, que le caractère 'A' soit le 41ème sur ta table de caractères, c'est un autre problème.
|
HelloWorld Salut tout le monde! |
--------------- FAQ fclc++ - FAQ C++ - C++ FAQ Lite |
theshockwave I work at a firm named Koslow |
Message édité par theshockwave le 03-08-2005 à 11:35:09 |
NullDragon | euh, je suis confus la |
HelloWorld Salut tout le monde! | Il voulait dire 0xA = 10. Le A en question, c'est le A de la base hexa, le digit après 9.
--------------- FAQ fclc++ - FAQ C++ - C++ FAQ Lite |
theshockwave I work at a firm named Koslow |
|
NullDragon | Ok, mais il n'y a pas d'autres façon que de faire cela que dans une boucle ?
Message édité par NullDragon le 03-08-2005 à 17:09:39 |
Publicité | Posté le 03-08-2005 à 17:09:10 |
theshockwave I work at a firm named Koslow | il faut que tu t'habitues à l'utilisation de la STL, dans mon exemple, le genre de problème que tu soulèves est géré. Il ne manque qu'un seul détail : pour récupérer la chaine construite par l'intermédiaire du std::ostringstream, il faut faire oss.str(); (je dis ca de mémoire, donc à vérifier) |
NullDragon | Ok, mais le problème c'est que si j'ai une grosse chaîne de 1mb à convertir la boucle est longue
|
theshockwave I work at a firm named Koslow | la boucle est longue ? Tu as ressorti un vieux 286 pour programmer ou quoi ?
|
NullDragon | Non j'ai un amd 64
|
theshockwave I work at a firm named Koslow | si tu manipules des chaines, utilise std::string (parce que là, en fait, tu ne le vois pas, mais tu fais déjà des fuites mémoire dans tous les sens ...)
Message édité par theshockwave le 03-08-2005 à 17:34:00 |
NullDragon | Et pour la lib gmp, c'est une lib qui gère les gros int. Mais pour initialiser un nombre avec son type, dans ce cas-ci le type mpz_t, il y a une fonction pour cela, la fonction mpz_init_str() qui accepte 3 parametre: valeur, char* et base
|
NullDragon |
Message édité par NullDragon le 03-08-2005 à 17:40:41 |
theshockwave I work at a firm named Koslow | Soit tu fais du C++, soit tu fais du C, mais là, tu as plutôt l'air parti sur du C, on dirait ...
|
NullDragon | Je le fais en C++ mais j'ai encore de la misère à faire la différence entre des fonctions qui viennent de C ou de C++
Message édité par NullDragon le 03-08-2005 à 17:50:07 |
theshockwave I work at a firm named Koslow | dans ce cas, si myFile est du type istream, tu es bien en C++, mais read est dépréciée ... Tu as quoi, dans ton fichier ? une valeur binaire que tu veux obtenir sous forme de chaine hexadécimale ? |
NullDragon | C'est un fichier quelconque, je fais un programme d'encryption, alors les octets lu peuvent être de 0 à 255.
Message édité par NullDragon le 03-08-2005 à 17:55:42 |
NullDragon | Voilà, j'ai essayé avec ton code, mais on dirait qu'il fait une boucle infini, peux-tu vérifier ce qui ne va pas stp ?
|
theshockwave I work at a firm named Koslow |
Message édité par theshockwave le 03-08-2005 à 18:34:44 |
NullDragon | Ok, je vais l'enlever, mais je ne connais pas d'autres façon .. |
theshockwave I work at a firm named Koslow | mmmh, j'aimerais bien que quelqu'un qui est plus habitué à la manipulation de fichiers en C++ vienne parce que j'évite ce genre de sujet allègrement (et je n'ai pas trop le temps de rechercher la solution en ce moment) |
NullDragon | Ok, j'ai essayé:
|
theshockwave I work at a firm named Koslow | Arrête tout de suite de tenter d'écrire dans un std::string::c_str() ... Ca va forcément t'exploser dans les dents !
Message édité par theshockwave le 03-08-2005 à 18:44:54 |
NullDragon | ok merci |
HelloWorld Salut tout le monde! | c'est bien getline qu'il faut utiliser, mais un autre.
--------------- FAQ fclc++ - FAQ C++ - C++ FAQ Lite |
theshockwave I work at a firm named Koslow | par contre, pour un fichier binaire, c'est un peu ridicule d'avoir un délimiteur (que ce soit \n par défaut ou un autre à spécifier) |
Publicité | Posté le |
Sujets relatifs | |
---|---|
[win]convertir une chaine en entier ? | [ SQL ] Convertir une chaine de char en int -> Convert ? |
[PHP] convertir une chaîne en nombre | Convertir chaine > constante... |
[algo]convertir une chaine ascii composé de décimaux en un entier rbns | [C#] convertir une chaîne String en Float |
Convertir une chaine char* en hexa en entier [Résolu] | [FORTRAN] convertir une chaine caractere en entier |
Convertir chaîne de caractères en entier | Convertir une chaine en tableau . |
Plus de sujets relatifs à : Convertir une chaine en hex ? |