dayvid75014
Messages postés96Date d'inscriptionmercredi 5 mars 2008StatutMembreDernière intervention25 avril 2008
-
12 mars 2008 à 11:02
cs_jfrancois
Messages postés482Date d'inscriptionvendredi 26 août 2005StatutMembreDernière intervention 5 décembre 2009
-
12 mars 2008 à 12:13
Bonjour à tous,
Voici mon problème : lorsque j'affiche les octets constituant un flux élémentaire d'une vidéo (tel que le ferait un éditeur hexadécimal), je n'obtiens pas des octets mais des symboles bizarroïdes..
Quelqu'un sait si il existe une conversion possible pour "traduire" ces symboles en valeur numériques ? j'ai pensé à la fonction atoi() mais lorsque j'utilise cette dernière, ça me donne l'erreur de compilation suivante :
C:\Documents and Settings\dgombert\Bureau\Editeur Hexa\Edit_Hex.cpp(51) : error C2664: 'atoi' : cannot convert parameter 1 from 'char' to 'const char *'
Conversion from integral type to pointer type requires reinterpret_cast, C-style cast or function-style cast
cs_jfrancois
Messages postés482Date d'inscriptionvendredi 26 août 2005StatutMembreDernière intervention 5 décembre 20092 12 mars 2008 à 11:31
Les octets sont affichés par un printf() ?
Si c'est le cas tout dépend du type de formatage qu'il contient et vu l'erreur sur la tentative de atoi il s'agit d'un char à présenter :
char octet_du_flux;
...
printf("%c",octet_du_flux); --> caractère ASCII correspondant au code lu (ce qui ressemble au cas)
printf("%d",octet_du_flux); --> code ASCII décimal du code lu
printf("%x",octet_du_flux); --> code ASCII hexadécimal du code lu
("%02x" pour formater sur 2 caractères, x --> a ... f, X --> A ... F)
Pistol_Pete
Messages postés1053Date d'inscriptionsamedi 2 octobre 2004StatutMembreDernière intervention 9 juillet 20137 12 mars 2008 à 11:41
Tu n'es pas obligé de savoir comment est code cette fonction, tu peux simplement l'utiliser...
Mais tu peux etre certain qu'il s'agit d'un code correcte et optimisé, car venant de Brunews.
dayvid75014
Messages postés96Date d'inscriptionmercredi 5 mars 2008StatutMembreDernière intervention25 avril 2008 12 mars 2008 à 11:50
Ok merci Vincent et JFrancois !!!
Je vous remercie de m'aider, vous êtes très sympaaaa !!!!!
Alors, j'ai testé le conseil de JF, et oui, c'était bien ça "%x" dans le printf !
Mais attendez c'est pas encore ça
Regardez ce que j'obtiens:
cs_jfrancois
Messages postés482Date d'inscriptionvendredi 26 août 2005StatutMembreDernière intervention 5 décembre 20092 12 mars 2008 à 12:13
Au delà de 7F (ou à partir de F0, c'est à dire quand le bit de poids fort passe à 1) le char est considéré comme négatif et ca donne cette valeur sur 8 chiffres hexadécimaux complété avec des F.