begin process at 2010 03 20 22:21:08
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Au secours

 > 

fichiers binaires, ascii et bcd en C


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

fichiers binaires, ascii et bcd en C

mercredi 26 avril 2006 à 11:41:41 | fichiers binaires, ascii et bcd en C

kazoumoulox

salut a tous, je commence a devenir un habitué des questions sur le forum.... je suis tjrs en stage...et un petit problème se pose...
En fait je récupere des fichiers de données provenant d'automates (fichiers en *.IOM), ils sont en binaire...(je les ouvre avec TextPad...) mon programme doit parcourir ces infos contenues dans les fichiers et les inserer dans la base de données locale...
Seulement voila, dans ces fichiers binaires, il y a des info codées en ascii et en bcd (c'est ce qu'il y a écrit dans la doc technique). le bcd est principalement utilisé pour l'heure (2 char pour les heures et 2char pour minutes et secondes qui sont concaténées...). Je ne sais pas comment convertir ces heures en ascii pour pouvoir les inserer dans la base...
je donne un exemple :
    -pour heure et minutes concaténés : 51 57 dans le code binaire me donne QW en ascii...mais 51 et 57 sont codés en bcd, comment les convertir en ascii?
Merci de votre aide!!!
++
mercredi 26 avril 2006 à 11:50:15 | Re : fichiers binaires, ascii et bcd en C

yoyo269

Membre Club
Le BCD c'est le binaire ?

YOYO, @+.
[font=Comic Sans MS][size=3][b][green][:D] YOYO [;)][/green][/b][/size=3][/font=Comic Sans MS]
mercredi 26 avril 2006 à 12:48:33 | Re : fichiers binaires, ascii et bcd en C

nightlord666

Membre Club
tu récupère le code ASCII des caractères :

int heure = (int)'Q'; //te donne 51
mercredi 26 avril 2006 à 12:53:12 | Re : fichiers binaires, ascii et bcd en C

ymca2003

BCD : binary coded decimal :

pour ton cas :
51 et 57 sont les codes ASCII de Q et W respectivement exprimé en hexa

ASCII (hex) => dec :
dec = ((hex>>4)&0xf)*10 + (hex&0xf);

dec => ASCII (hex)
hex = ((dec/10)<<4) | (dec%10);

lien :
[ Lien ]
mardi 2 mai 2006 à 16:45:51 | Re : fichiers binaires, ascii et bcd en C

kazoumoulox

bon en fait je dois préciser, l'automate code en bcd l'heure de fabrication dans le fichier.
lorsque j'ouvre le fichier, toutes mes données sont en ascii, meme cette fameuse heure. il faut ke je la convertisse en ascii pour la stocker en chaine de caracteres. mais je ne sais pas comment faire pour convertir du bcd lu en hexa vers de l'ascii...merci de m'aider...please!
mardi 2 mai 2006 à 17:26:46 | Re : fichiers binaires, ascii et bcd en C

ymca2003

Réponse acceptée !

de l'asscii en soit ça veut rien dire, c'est juste une table de correspondance entre des nombres et des caractères.
Pour ton cas le code que j'ai mis dans ma réponse devrait aller :

lecture :
unsigned char hex;
fread(&hex, 1, 1, file);
int hour = ((hex>>4)&0xf)*10 + (hex&0xf);

écriture :
unsigned char hex = ((hour/10)<<4) | (hour%10);
fwrite(&hex, 1, 1, file);

pour transformer l'heure en chaîne :
char s[16];
sprintf(s, "%d", hour);



Cette discussion est classée dans : données, fichiers, ascii, binaires, bcd


Répondre à ce message

Sujets en rapport avec ce message

C++ et les fichiers binaires.HELP!!!! [ par benett ] Pouvez-vous m'aider pour mes études?????Je dois créer un objet qui permet de créer et de gérer des fichiers binaires à accés relatif, et ce en mode co faire un commit pour base oracle via VC++ [ par sisteroots ] sisterootsBonsoir à tous, j'espere qu'a cette heure qq un pourra me venir en aide...Je travaille sur un programme d'integration de données de fichiers editbox, lecture des données ??? [ par gege1024 ] quel moyen a t'on pour recuperer les lignes d'un editbox ?j'ai rempli un editbox avec plusieurs fichiers (multiligne)et je desire faire un traitement lecture de fichiers binaires [ par psycho ] bonjour a tous. Je cherche a lire un fichier .obj (c a dire un fichier compile, mais l edition des liens n est pas encore faites) pour en extraire ses saisie de données d'un fichier ascii [ par berthier64 ] Bonjour,je souhaite saisir dans un vecteur la liste de chiffre qui sont dans un fichier ascii. Je sais le faire en C mais pas en C++. Pouvez vous m'ai effacement de fichiers [ par enrageur ] Je developpe une application qui gere des fichiers. Le but est de copier sur une support (disquette par exemple) des fichers binaires avec comme exten recuperation de données binaires sur un port serie [ par Loizo ] Salut amis bourrico(deurs) ! Voila le probleme : Je bosse avec mes gentils electroniciens (grrrr :) ) et je dois recuperer leurs données binaires sur Appareillage de 2 fichiers [ par radada ] Waza!J'ai un gros soucis pour le taf, et c'est assez complexe, donc cela risque d'être long, mais si une âme charitable comprends tout, ce serait le t Fichiers binaires ou fichiers textes [ par Finalx ] Salut,j'aimerais connaitre la difference entre les fichiers en mode binaire (b) et ceux en mode texte (t), afin de pouvoir choisir dans la fonction 'f [SOCKETS]fichiers binaires [ par anonyme_man_in_this_world ] salut  !!apres de nombreux essaies et de nombreux echecs ,j'ai essayé de demander de l'aide sur le forum.j'aimerais envoyer des fichiers binaires par


Nos sponsors


Sondage...

CalendriCode

Mars 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Photothèque

 
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,686 sec (4)

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