Re: FILE* в памяти
От: loknalori Россия  
Дата: 22.11.06 10:04
Оценка:
К>
К>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;
К>

в продолжении вопроса... Т.е. у меня схожая задача, но мне нужно получить дескриптор на stream
Т.е. _fileno(...) и далее этот дискриптор пустить в оборот. В данном случае дескриптор не определен. как быть?
Re[2]: FILE* в памяти
От: Кодт Россия  
Дата: 22.11.06 12:14
Оценка:
Здравствуйте, loknalori, Вы писали:

L>в продолжении вопроса... Т.е. у меня схожая задача, но мне нужно получить дескриптор на stream

L>Т.е. _fileno(...) и далее этот дискриптор пустить в оборот. В данном случае дескриптор не определен. как быть?

Во-первых, ты можешь открыть pipe ( _popen() ). Пусть zlib туда пишет, а в другом потоке будешь читать и переписывать куда хочешь.
Во-вторых, посмотреть на исходники zlib и руками вписывать префикс gzip (10 байтов).
Оба способа умеренно-плохие.
... << RSDN@Home 1.2.0 alpha rev. 655>>
Перекуём баги на фичи!
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.