Aide pour la lecture d'un fichier caractere par caratere en (HEXA)
bonjour,
voila mon PB , je souhaite lire des fichiers sur mon disque, ces fichiers sont des fichiers de donnée et il n'y a que trois caractere HEXA qui m'intéressent mais dans certain cas lors de la lecture du fichier (par exemple à la lecture du caractere '1A' en HEXA) ma routine ne récupère que des '37'
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| AnsiString HEX = "";
AnsiString ChaineHEX="";
using namespace std;
ifstream fichier(score.c_str(), ios::in); // on ouvre le fichier en lecture
for(int i =0;i<100;i++)
{
char c;
fichier.get(c); // on lit un caractère et on le stocke dans caractere
HEX =IntToHex(c,2); //on le stock dans HEX
if(HEX.Pos("FFFFFF"))
{HEX=HEX.SubString(7,2);}
ChaineHEX=ChaineHEX+HEX;
if(HEX=="9F"||HEX=="FFFFFF9F")
{ChaineHEX=(ChaineHEX.SubString(ChaineHEX.Length()-9,10));i=100;}
}
fichier.close(); // on ferme le fichier |
Avez vous une explication pour un débutant, je suis sous XE8
Merci
nota : si je mets unsigned à char c j'ai une erreur avec le fichier.get(c) deplus les 3caracteres que je veux lire sont après le '1A' donc comment l'éviter pour que le pointeur sur le fichier ne perde pas les pédales ?
peut on lire un fichier en pointant directement à un endroit précis