Здравствуйте, Зверёк Харьковский, Вы писали:
ЗХ>В меру идиотский вопрос.
ЗХ>Возможен ли сабж? Т.е. возможно ли создать переменную типа FILE*, чтобы все fwrite в нее на самом деле писали в буфер в памяти?
ЗХ>нужен JEPG в памяти; а libjpeg, зараза, либо через FILE*, либо какой-то кошмарный геморрой.
Да, возможно.
sprintf/sscanf именно так и делают.
Правда, вряд ли это кроссплатформенное решение — в разных системах поля FILE могут различаться.
void* yourdata;
int yoursize;
FILE file;
// VC6, подсмотрено в sscanf.c
file._flag = _IOREAD|_IOSTRG|_IOMYBUF;
file._ptr = file._base = (char *) yourdata;
file._cnt = yoursize;
FILE* fp = &file;