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