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):
que j'utilise ainsi :
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); }
mais à l'exécution, j'ai l'erreur suivante :
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]);
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.
Partager