OVH Cloud OVH Cloud

Totalement paumé avec un BYTE**

3 réponses
Avatar
lionel letoffet
Salut,

je voudrais appeler une fonction f(BYTE ** ptr,int i){/* ....*/}

Je suis completement paumé avec le BYTE** !!
Je veux lire un chaine de caractère (CString?) en lui passant un pointeur.

je déclare quoi? je défini quoi ? j'alloue quoi ?

Merci

3 réponses

Avatar
Fabien LE LEZ
On Mon, 21 Jun 2004 23:19:11 +0200, "lionel letoffet"
:

je voudrais appeler une fonction f(BYTE ** ptr,int i){/* ....*/}


Tu peux nous en dire plus sur le mode d'emploi de cette fonction ?

A vue de nez, et étant donné qu'il s'agit d'un "BYTE**" (et pas
"BYTE*" comme souvent), cette fonction renvoie un pointeur sur de la
mémoire qu'elle a elle-même allouée, et dans ce cas c'est assez
simple :

BYTE* ptr; // A toi de trouver un meilleur nom
f (ptr, ...);
string chaine_de_caracteres (ptr);
// Ici, éventuellement, un "free(ptr);" -- cf la documentation


Si ce n'est pas ça, dis-nous en plus.


--
schtroumpf schtroumpf

Avatar
Mickael Pointier
Fabien LE LEZ wrote:
On Mon, 21 Jun 2004 23:19:11 +0200, "lionel letoffet"
:

je voudrais appeler une fonction f(BYTE ** ptr,int i){/* ....*/}


Tu peux nous en dire plus sur le mode d'emploi de cette fonction ?

A vue de nez, et étant donné qu'il s'agit d'un "BYTE**" (et pas
"BYTE*" comme souvent), cette fonction renvoie un pointeur sur de la
mémoire qu'elle a elle-même allouée, et dans ce cas c'est assez
simple :

BYTE* ptr; // A toi de trouver un meilleur nom
f (ptr, ...);
string chaine_de_caracteres (ptr);
// Ici, éventuellement, un "free(ptr);" -- cf la documentation


Si ce n'est pas ça, dis-nous en plus.


Ca serait pas plutot

f(&ptr,...);

Parce qu'il faut un pointeur sur BYTE*, non ?

Mike


Avatar
Fabien LE LEZ
On Tue, 22 Jun 2004 08:57:26 +0200, "Mickael Pointier"
:

Ca serait pas plutot

f(&ptr,...);


Exact.

--
schtroumpf schtroumpf