Conversion unsigned char* (tableau) en char* (string)
Salut � tous !
J'ai un peu honte de poster ce genre de probl�mes, mais bon ca fait plusieurs fois que je planche la dessus en vain, donc bon :aie:
Le probl�me est donc le suivant :
Je r�cup�re une cha�ne de caract�re sous la forme d'un unsigned char* grace � l'appel d'une fonction (externe, donc non, je ne peux pas passer en char*)
Quand j'affiche les caracteres de la chaine un par un, pas de soucis, ca s'affiche, mais quand je tente de les mettre dans mon char*, il rajoute des caract�res speciaux � la fin :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
|
// strSize = 24 (trouvé dynamiquement)
resultUC = (unsigned char *)calloc(strSize, sizeof(unsigned char));
GetResultUC(resultUC);
strResultString = (char*)malloc(strSize * sizeof(char));
for (t1 = 0; t1 < strSize; t1++)
{
printf("uchar = %c\n", *(resultUC + t1));
// => Affiche "M" puis "o" puis "n" etc. jusque "e"
strResultString[t1] = (*(resultUC + t1));
}
m_ResultString = (char*)malloc(t1 * sizeof(char));
for(i=0 ; i<t1 ; i++)m_ResultString[i] = (int)NULL;
for(i=0 ; i<t1 ; i++)m_ResultString[i] = strResultString[i];
(...)
printf("result = %s\n", mResultString);
// => Affiche "Mon_texte/)&à('$*¤!§" |
Merci de vos �ventuelles r�ponses !