Bonjour,
Cela fais plusieurs années que je n'ai plus fait de C et je me trouve confronté au probleme suivant :
je réserve une zone memoire pour stocker des Bytes :
La fonction malloc me retourne donc un pointeur sur cette zone.
Code : Sélectionner tout - Visualiser dans une fenêtre à part char* maZoneByte = char* malloc(1024 *sizeof(char));
Je dois maintenant passer cette adresse à une autre application qui est completement découplée. Pour des raisons historique, cette adresse doit être passée par une string.
(prototype maFonctionTier: (char* x_ZoneByte, int handle);
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 char* maZoneByteString = (char*) malloc (9*sizeof(char)); sprintf (maZoneByteString ,"%d",maZoneByte ); maFonctionTier(maZoneByteString ,......); // Appel d'une fonction de l'API
Maintenant, dans ma fontionTier, je veux utiliser un pointeur vers la zone de Bytes réservées plus haut. Mon probleme c'est que je ne sais pas comment déclarer ce nouveau pointeur.
A titre d'exemple, malloc me retourne 0x00343010. Si, dans ma fonction tiers, j'écris :
et que j'utilise cette valeur pour le reste de mon code, tout fonctionne bien.
Code : Sélectionner tout - Visualiser dans une fenêtre à part char* ptZoneByte = 0x00343010;
mais comment initialiser ptZoneByte à l'adresse dont la valeur est stockée dans le parametre x_ZoneByte qui est de type char* ?
Je vous remercie d'avance pour votre aide
cordialement
kurvanov
Partager