Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

FILE* et buffer

2 réponses
Avatar
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

2 réponses

Avatar
Fred
"Bastien Durel" wrote in message
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;
}
Avatar
Bastien Durel
On 15/01/2009 20:51, Fred wrote:
"Bastien Durel" wrote in message
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