dayvid75014
Messages postés96Date d'inscriptionmercredi 5 mars 2008StatutMembreDernière intervention25 avril 2008
-
14 mars 2008 à 11:33
cs_jfrancois
Messages postés482Date d'inscriptionvendredi 26 août 2005StatutMembreDernière intervention 5 décembre 2009
-
15 mars 2008 à 11:03
Bonjour à tous,
J'aimerais rechercher des octets dans un tableau : 0x47.
MAIS, lorsque je définis "int valeur=47" et que je fais dans ma boucle Buffer[i]==valeur, il me retourne les valeurs dans le tableau correspondant à 0x2F et non 0x47. Normal vous me direz, vu que 47 en décimal donne 2F en héxa.
Quelqu'un sait-il si y a un moyen de rechercher mon octet 0x47 en castant ma variable "valeur" de manière à ce que le buffer trouve mes bons octets? ( quand je fais int valeur=47 ça ne marche pas du tout car mon buffer stocke des unsigned char venant d'un flux MPEG)
cs_jfrancois
Messages postés482Date d'inscriptionvendredi 26 août 2005StatutMembreDernière intervention 5 décembre 20092 15 mars 2008 à 11:03
Pas de quoi !
et bien sûr j'ai oublié le plus basique pour un caractère :
char valeur = 'G'; // le caractère lui-même !
Pour l'initialisation avec une valeur décimale (char valeur 71;) il faut absolument éviter un zéro en première position sauf entre 0 et 7 bien sûr, puisque pour ces valeurs là il n'y a pas encore de différence entre les bases décimale et octale. Et zéro seul est valable pour toutes les bases y compris sous des formes détournées telles que char valeur '\0'; ou char valeur = NULL; (à éviter toutefois, NULL est à utiliser avec les pointeurs).
Et tout ceci est n'est pas seulement valable avec l'initialisation de la variable :
- Test : if (valeur == 0x47) {...}
- Indice : tableau_valeur[71] ou tableau_valeur['G']
- ...
Jean-François