FILE* et buffer

Le
Bastien Durel
Bonjour,

Sous Linux, il existe une fonction (fmemopen(3)) pour associer un stream
FILE* à un buffer.
Sous Windows, elle ne semble pas disponible ; y a-t'il un équivalent ?

merci,

--
Bastien
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Fred
Le #18397931
"Bastien Durel" news:496f20e0$0$28673$
Bonjour,

Sous Linux, il existe une fonction (fmemopen(3)) pour associer un stream
FILE* à un buffer.
Sous Windows, elle ne semble pas disponible ; y a-t'il un équivalent ?

merci,



il n'y a pas d'équivalent sous windows.
on peut peut-être adapter fmemopen.c
http://www.koders.com/c/fidB4DA7B898486EB964528E1CA3C8645B47F6C2FAF.aspx
ou un exemple simplifié avait été posté :

FILE *fmemopen (void *buf, size_t size, const char *opentype)
{
FILE *f;

assert(strcmp(opentype, "r") == 0);

f = tmpfile();
fwrite(buf, 1, size, f);
rewind(f);

return f;
}
Bastien Durel
Le #18403531
On 15/01/2009 20:51, Fred wrote:
"Bastien Durel" news:496f20e0$0$28673$
Bonjour,

Sous Linux, il existe une fonction (fmemopen(3)) pour associer un stream
FILE* à un buffer.
Sous Windows, elle ne semble pas disponible ; y a-t'il un équivalent ?

merci,



il n'y a pas d'équivalent sous windows.
on peut peut-être adapter fmemopen.c
http://www.koders.com/c/fidB4DA7B898486EB964528E1CA3C8645B47F6C2FAF.aspx
ou un exemple simplifié avait été posté :

FILE *fmemopen (void *buf, size_t size, const char *opentype)
{
FILE *f;

assert(strcmp(opentype, "r") == 0);

f = tmpfile();
fwrite(buf, 1, size, f);
rewind(f);

return f;
}


Bonjour,

Merci de cette confirmation.
j'avais pensé à faire comme ça, mais j'espérais ne pas avoir à en passer
par là.

--
Bastien
Publicité
Poster une réponse
Anonyme