Bonjour,

je suis en train de convertir des adresses IP stockées en CHAR* vers des BYTE*.
Néanmoins, j'aimerais pouvoir convertir ces BYTE* en CHAR* pour les afficher proprement à l'écran.

J'ai crée une méthode Sprintf dans une classe perso CStringFct (qui fonctionne très bien):
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
/*static*/ LONG CStringFct::Sprintf (OUT CHAR *pc_dst, IN const CHAR *pc_format, ...)
{
	va_list st_listarg = NULL;
	LONG	l_len = 0;
 
	va_start(st_listarg, pc_format);
	l_len = vsprintf(pc_dst, pc_format, st_listarg);
	va_end(st_listarg);
	return(l_len);
}
que j'utilise ainsi :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
BYTE* pby_adresse // reçu en argument
CHAR *pc_retour = (CHAR*)"Empty";
 
CStringFct::Sprintf(pc_retour, "%u", pby_adresse[i_niveau]);
mais à l'exécution, j'ai l'erreur suivante :
Exception de première chance à 0x00528ad7 dans Appli_Test.exe*: 0xC0000005: Violation d'accès lors de l'écriture à l'emplacement 0x0060d610.

Est-ce que quelqu'un sait comment je peux faire pour écrire mes BYTE dans un CHAR* ?

Merci d'avance pour votre aide.