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

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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 !