Bonjour

j'essaie de convertir un tableau caractères en hexa (les valeurs viennent d'un fichier en EBCDIC).
Quand je fais une conversion avec sprintf ou std::hex, toutes valeures au dessus de 80 (en hexa) ne sont pas bonnes :
exemple, au lieux d'avoir D3, j'ai FFFFFF45
un bout de code :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
string strToHexStr(char *str, int lenght) {
 
	char *cpold = str;
	string strRet = "";
	int num;
	char tmp[2];
	for (int i = 0; i < lenght; i++) {
		sprintf(tmp, "%02X", (char) (*cpold++));
 
		strRet.append(tmp);
	}
 
	return strRet;
}
Est ce qq a une idée du problème?
Merci d'avance