begin process at 2012 05 29 14:28:47
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Au secours

 > 

Probleme c++ lire une byte Binaire =26 ou =13


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

Probleme c++ lire une byte Binaire =26 ou =13

vendredi 19 mars 2004 à 02:53:57 | Probleme c++ lire une byte Binaire =26 ou =13

WINACreve

Situation: Je fait un programme qui ouvre n'importe quel fichier et lit chacune de ces bytes 1 par 1 et garde en mémoire leurs valeur.

Problème #1: lorsque le fichier a une byte qui a la valeur 26, le programme en déduit automatiquement qu'il a atteint la fin du fichier alors qu'en fait il n'est qu'a la 3e byte comme dans lexemple suivant: (12-54-26-65-76-127-...)

Problème #2: lorsque le fichier a une byte qui a la valeur 13 suivit de la valeur 10 (...-13-10-...)(ce qui est la représentation binaire d'un ENTER), le programme me rapporte la valeur 10 deux fois et jamais la valeur 13.

Y a t-il un moyen de lui faire comprendre que une byte=26 ne veut pas nécessairement dire que c'est la fin du fichier et plutot rapporter la valeur 26 et de me rapporter la valeur 13 a la place d'un 10 imaginaire?

Pour lire chaque byte du fichier j'utilise présentement ce code

unsigned char b;
for (j=0;j<=(GROSSEURDUFICHIER-1);j++)
{
b=INPUT.get();
cout <<"B: " << ((int)b) << endl;
}



vendredi 19 mars 2004 à 06:59:24 | Re : Probleme c++ lire une byte Binaire =26 ou =13

djl


essaye comme ca plutot

unsigned char b;
do
{
INPUT.get(b);
cout <<"B: " << (int)b << endl;
}while( !INPUT.eof() );
samedi 20 mars 2004 à 00:14:25 | Re : Probleme c++ lire une byte Binaire =26 ou =13

WINACreve

merci djl mais sa ma donner le même résultat et si on laisse comme sa avec le while( !INPUT.eof() ); il va arrêter de lire le fichier dès qu'il va rencontrer une byte=26 et ne lira pas les bytes suivante

J'ai fait beaucoup de test et j'ai inventer cette solution pour régler le problème de la byte=26 (Voir code en bas) c'est surement pas la meilleur solution mais sa marche, si quelqu'un a une meilleur solution je suis ouvert. Mais sa na pas réglé le problème avec les bytes (...-13-10-...)

Quelqu'un a un idée pour dire au programme de ne pas interpréter les bytes du fichier en caractères mais bien juste en byte comme ils sont déjà? parce que un fichier avec les byte de valeurs:(1-2-3-4-13-10-5-6) devient avec ma méthode d'input (1-2-3-4-10-10-5-6) et j'ai essayer de faire que si il rencontre une byte = 10 de présumer que lautre est = 13 mais sa ne marche pas car si il rencontre une byte=13 tout seul sans le 10 a coter il la lit comme il le faut et de même si il rencontre une byte=10 tout seul. (wow beau paragraphe j'espère que je vais avoir été assez clair dans mes description )

Le code modifier:----------------------------------

INPUT.open(inputfilename, ios::nocreate, ios::binary);
struct stat FILEINFO;

unsigned long int j = 0;

stat(inputfilename, &FILEINFO);/*Trouver la grosseur du fichier*/
unsigned char b;
for (j=0;j<=(FILEINFO.st_size-1);j++)/*Loop jusqu'a la derniere byte*/
{
INPUT.seekg(j);
INPUT.get(b);

if (INPUT.eof()) /*Si il rencontre la fin du fichier alors qu'il na pas atteint la dernière byte du fichier*/
{
INPUT.clear();
b=26;
}

cout <<"J: " << j <<" B1: " << ((int)b) << endl;
}
INPUT.close();


Cette discussion est classée dans : fichier, binaire, lire, valeur, byte


Répondre à ce message

Sujets en rapport avec ce message

Lire,condition binaire [ par Suisse00 ] J'essai de faire en sorte de pouvoir récuprer une valeur binaire dans un fichier pour savoir quelle est sa valeur pour la comparer.Je ses seulement qu Lire et ecrire dans un fichier en mode binaire [ par vbnul ] Je cherche comment lire et ecrire dans un fichier en mode binaire car on ne peut lire certains "caracteres" binaires dans les EXE par exemple.qqn pour Données en binaire [ par didrocks ] J'aimerai, à l'instar de denini dans "lire/ecrire fichier texte a plusieurs colonnes" faire un fichier de données dans lequel je pourrai écrire à part Ouvrir et lire un fichier txt [ par pirana ] Bonjour à tous jaimerai faire un programme qui me permet d'ouvrir un fichier txt puis le lire jusqua la fin( normalement avec une boucle while(!feof(f Comment lire un fichier wave [ par kakato ] bonjourmon probleme est tres simple je  veut linstruction a partir laquelle je peut lire un fichier de type wave avec c++ builderje voudrai  pas dire comment lire un fichier wave en binaire [ par kakato ] bjcomment lire un fichier wave en binaire  octet par octet lire un fichier de parametre [ par gab55 ] Bonjours a tous Je suis débutant en c++ et je doit modifier un programme dejas existant.Je travaille sous embedded visual c++ 4 car mon programme est Lire TOUT les caractères d'un fichier binaire [ par harddisk ] lire un fichier binaire bit par bit [ par MrDimanche ] Bonjour,Voila mon problème : j'ai un fichier binaire à lire, et j'utilise un "ifstream" puit get... Ca marche très bien, mais ça lit les données octet Executer un fichier .reg [ par chinois0013 ] Bonjour,Je galere depuis quelques jours pour écrire une valeur binaire dans une clé de registre. Et je n'y arrive toujours pas ! Car je ne comprends p


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

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

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