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 :
Merci de vos éventuelles réponses !
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/)&à('$*¤!§"
Partager