Portage CString de C++ vers C
Bonjour,
j'ai récupéré le code suivant (C++) :
Code:
1 2 3 4 5 6 7 8 9 10 11
| typedef struct
{
unsigned char *cData; /* partie data du message */
unsigned short nDataLength; /* longueur de la partie data */
} t_Message;
myfunction(t_Message message)
{
CString stStrData((char*)message.cData, message.nDataLength);
/* etc. */
} |
Et je dois le transformer en C => j'ai écrit ceci pour récupérer la chaîne de caractère passée en paramètre:
Code:
1 2 3 4 5 6 7 8 9
| myfunction(t_Message message)
{
char *stStrData;
stStrData= malloc(message.nDataLength+1);
memcpy(stStrData, (char*)message.cData, message.nDataLength);
stStrData[message.nDataLength] = 0;
/* etc. */
} |
=> Cela est-il correct ? N'y a-t-il pas plus simple ?
Merci