comment faire pour convertir un jeu de hex chaînes de tableau d'octets
J'ai une entrée de char *str = "13 00 0A 1B CA 00";
J'ai besoin d'une sortie en tant que BYTE bytes[] = { 0x13, 0x00, 0x0A, 0x1B, 0xCA, 0x00 };
quelqu'un peut-il aider à une solution?
Essayez
sscanf n'est pas sûr, il cause de la saturation de la mémoire tampon'. stackoverflow.com/questions/5873402/...
sscanf()
avec %x
.sscanf
pourrait fonctionner, mais il ne peut pas connaître le nombre exact d'octets de la chaîne, il a donc besoin d'une approche plus dynamique.sscanf n'est pas sûr, il cause de la saturation de la mémoire tampon'. stackoverflow.com/questions/5873402/...
OriginalL'auteur Dean | 2012-12-21
Vous devez vous connecter pour publier un commentaire.
Vous aurez besoin d'analyser chacun des deux personnages, puis de les convertir en
BYTE
. Ce n'est pas assez difficile à faire.Je suis désolé, ce n'est pas exactement ce que je ment, je vais changer cela.
Je n'ai pas très bien compris cela, pouvez-vous expliquer plus en détails s'il vous plaît>
mes chaînes sont "xx xx xx xx" format sera strstream travailler avec les espaces?
mise à jour de réponse.
OriginalL'auteur sean
Cette réponse suppose que le format d'entrée est en fait 3 caractères pour chaque hex de l'OCTET. J'ai utilisé
sscanf
pour des raisons de simplicité,streams
sont évidemment également une option.count
d'octets est(input.size() + 1)/3
. Votre code ne manquez dernier octet de la chaîne d'entrée.OriginalL'auteur Itsik