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'
Avez vous une explication pour un débutant, je suis sous XE8
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
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
Partager