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 : 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
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