Parcourir et modifier un char*
Bonsoir tout le monde,
Voila j'ai un petit problème avec une fonction, en effet je lui donne un parametre un pointer et j'aimerai avancé dans celui-ci afin de pouvoir lui ajouter des caractères. Je m'y prend donc pour l'appel de cette manière :
Code:
1 2 3 4 5 6 7 8 9
|
unsigned char* vFinalBuffer = (unsigned char*) calloc(86 ,sizeof(char));
printf("1 : %p \n",vFinalBuffer );
maFonction(......, 4, vFinalBuffer);
printf("2 : %p \n",vFinalBuffer );
maFonction(......, 4, vFinalBuffer);
printf("3 : %p \n",vFinalBuffer );
maFonction(......, 4, vFinalBuffer);
exit(0); |
Je fais donc appels X fois à la meme fonction qui en fonction des parametres permet de modifier mon unsigned char* vFinalBuffer.
Et donc voici maFonction :
Code:
1 2 3 4 5 6 7 8 9 10
|
void base64encode(......., int pSize,
unsigned char* pBuffer) {
char *vTmp = pBuffer;
printf("Nombre de boucle : %d",pSize);
for (i = 0; i < pSize; i++) {
(*vTmp++) = base64[vIndex & 0x3f]; //On lui assigne une valeur
}
printf("TMP => %s \n", pBuffer);
} |
Or le problème, c'est que lorsque je lance le programme, je vois que l'adresse du pointer de vFinalBuffer reste toujours la meme alors que normalement elle aurait du etre modifié.
Merci par avance.