Voici ce que j'ai actuellement jusqu'à présent:Comment écrire les valeurs hexadécimales d'un caractère en ASCII dans un fichier texte?
void WriteHexToFile(std::ofstream &stream, void *ptr, int buflen, char *prefix)
{
unsigned char *buf = (unsigned char*)ptr;
for(int i = 0; i < buflen; ++i) {
if(i % 16 == 0) {
stream << prefix;
}
stream << buf[i] << ' ';
}
}
J'ai essayé de faire stream.hex, stream.setf (std :: ios :: hexagonaux), ainsi que la recherche Google pour un peu. J'ai également essayé:
stream << stream.hex << (int)buf[i] << ' ';
Mais cela ne semble pas fonctionner non plus.
Voici un exemple d'une sortie qu'elle produit actuellement:
Í Í Í Í Í Í Í Í Í Í Í Í Í Í Í Í
Í Í Í Í Í Í Í Í Í Í Í Í Í Í Í Í
Í Í Í Í Í Í Í Í Í Í Í Í Í Í Í Í
Í Í Í Í Í Í Í Í Í Í Í Í Í Í Í Í
Í Í Í Í Í Í Í Í Í Í Í Í Í Í Í Í
Í Í Í Í Í Í Í Í Í Í Í Í Í Í Í Í
Je voudrais que la sortie ressemble à ce qui suit:
FF EE DD CC BB AA 99 88 77 66 55 44 33 22 11 00
FF EE DD CC BB AA 99 88 77 66 55 44 33 22 11 00
FF EE DD CC BB AA 99 88 77 66 55 44 33 22 11 00
FF EE DD CC BB AA 99 88 77 66 55 44 33 22 11 00
FF EE DD CC BB AA 99 88 77 66 55 44 33 22 11 00
FF EE DD CC BB AA 99 88 77 66 55 44 33 22 11 00
BTW: Vous devriez utilisez le préfixe const void * ptr et const char * pour préciser que vous ne modifierez pas ces tampons. – mmmmmmmm
@rstevens: D'accord! – xian
c'est pourquoi j'aime tellement le débordement de pile. ces petits problèmes amusants surgissent de temps en temps et quelqu'un dépose dans un extrait de code et son résolu ... – MikeJ