Bonjour,

J'essaie de sauvegarder dans un fichier les données dans un tableau de char en hexadécimal :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
m_fichierSortie = fopen(mypath, "w");
 
char l_msgToSend[250];
l_msgToSend[0] = 0x10;
l_msgToSend[1] = 0x85;
l_msgToSend[2] = 0xAB;
 
for(int i=0; i < 3; i++)
{
	fprintf(m_fichierSortie,"%02x",l_msgToSend[i]);
}
fprintf(m_fichierSortie,"\n");
fflush(m_fichierSortie);
Voici mon problème : Si la valeur du champ est supérieur à 0x80, c'est-à-dire une valeur négative pour char, dans mon fichier il est enregistrer "ffffff85" au lieu de "85" pour la valeur 0x85.
Existe-il une solution pour enregistrer cette valeur sans modifier le type de l_msgToSend ?

Merci pour votre aide