begin process at 2012 05 28 23:07:57
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C

 > 

Divers

 > 

Général

 > 

Convertion de symbole en entier


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Convertion de symbole en entier

mercredi 12 mars 2008 à 11:02:58 | Convertion de symbole en entier

dayvid75014

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

Quelqu'un a une idée ?

Bonne journée à tous!

mercredi 12 mars 2008 à 11:12:34 | Re : Convertion de symbole en entier

Pistol_Pete

Salut
Je pense que la fonction de BruNews correspond parfaitement a ce que tu veux faire.
http://www.cppfrance.com/codes/CHAINE-HEXA-WIN32_46019.aspx

Mon site internet : [ Lien ]

mercredi 12 mars 2008 à 11:19:47 | Re : Convertion de symbole en entier

dayvid75014

y a pas quelquechose de plus simple, en plus son code c'est de l'assembleur...

G vu que Neo porposait un code similaire en C mais je ne peux acceder à sa page ..

Jpensais que c'était juste un problème de conversion...
mercredi 12 mars 2008 à 11:31:44 | Re : Convertion de symbole en entier

jfrancois

Réponse acceptée !
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)

Ex: "%c" --> J   "%d" --> 74   "%X" --> 4A

Jean-François

mercredi 12 mars 2008 à 11:41:53 | Re : Convertion de symbole en entier

Pistol_Pete

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.

Mon site internet : [ Lien ]

mercredi 12 mars 2008 à 11:50:31 | Re : Convertion de symbole en entier

dayvid75014

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:

0xffffff9d
0xffffffeb
0xf
0xffffffe3
0x4
0xffffffc8
0xffffff9c
...
etc
...

Vous l'aurez compris, je ne vois pas pourquoi ces "f" s'incrustent .... grrrrrr... on touche au bout du problème..!


mercredi 12 mars 2008 à 12:13:23 | Re : Convertion de symbole en entier

jfrancois

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.

void main()
{
   char code_du_flux = 0xF0;
   printf("%02X",code_du_flux); --> FFFFFFF0
}

Il faut passer en caractères non signés soit en 'castant' soit à la déclaration :

void main()
{
   char code_du_flux = 0xF0;
   printf("%02X",(unsigned char)code_du_flux); --> F0
}

ou

void main()
{
   unsigned char code_du_flux = 0xF0;
   printf("%02X",code_du_flux); --> F0
}


Jean-François



Cette discussion est classée dans : octets, entier, convertion, symbole, symboles


Répondre à ce message

Sujets en rapport avec ce message

convertion chaine de caractere commencant par 0 en entier [ par humnanamouch ] bonjourEn fait j'ai une chaine de caractere avec 8 chiffres qui correspond à un code ascii et je voudrais pouvoir recuperer  le caractere qui correspo convertion char* en int [ par sampq ] Je recupere à partir d'une requete sql un char* que je veux utiliser par la suite dans une boucle for de mon programme, mais la il faudrait que ça soi Pile des sockets [ par darsh99 ] Bonjour,je suis toujours sur mon client serveur et j'ai un petit problème de paquets :J'envoie des paquets de taille variable mais avec une taille max Symbole de PI [ par boun85 ] J'aimerai savoir comment faire pour afficher le symbole de PI à l'écran?Merci d'avance Table d'Huffman/JPEG [ par fabienGL ] Bonjour,J'écris un loader JPEG, je l'ai presque fini mais il y a une étape qui me pose problème, c'est le stockage de la table d'Huffman. je vais expl MingW32 [ par ac117 ] Salut,Y a t-il un installeur de MingW32 dans la salle ?Parce que à premiere vue, c'est facile. L'exemple "hello world" marche bien, mais dés qu'il s'a Convertion [ par LordBob ] Bonjours a tous,voila j'ai une question... vous connaissez VLC, un lecteur multimedia puissant Open Source... voila je voudrais le porter sur Dreamcas Convertion de type [ par Siriusgalaxie26 ] SiriusJ'ai (encore) un problème : J'aurais besoin d'une liste des fonctions de convertion de type (par ex: char en char*, ou int en char, ou encore An dernoière chance [ par skone007 ] J'ai demandé à de multiple programmeur et aucun n'as reussie tous on abandoner ou par un harsard il ce sont deconnercter alors AIDER MOI <im convertion [ par melkiorlenecrarque ] bjrcomment convertir un char[2] en int? en API32 sous visual c++ 6merci thevoncarstein


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,468 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales