Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Общие вопросы > Портирую свою лайбу под винду


Автор: GrayCardinal 16.8.2008, 19:28
В тему буду добавлять насущные вопросы по портированию.
1. Чем заменить fmemopen (открывает файло из char * буфера) ?

Автор: Alek86 16.8.2008, 20:16
в си - fopen
в плюсах - fstream

Автор: MAKCim 17.8.2008, 00:28
Alek86, 
лишь бы написАть...
для начала прочитай man fmemopen


GrayCardinal, 
вот, что нашел
http://www.tech-archive.net/Archive/VC/microsoft.public.vc.language/2004-04/0727.html

Автор: Ulysses4j 17.8.2008, 09:38
В Boost есть две кросс-платформенные обертки для отображаемых в память файлов: в http://www.boost.org/doc/libs/1_35_0/libs/iostreams/doc/classes/mapped_file.html и http://www.boost.org/doc/libs/1_36_0/doc/html/interprocess/sharedmemorybetweenprocesses.html#interprocess.sharedmemorybetweenprocesses.mapped_file. Первая довольно ограниченная, как я понял. Но вообще там, конечно, много разбираться, я с этим не работал, оценить не могу. И да, это не C, это C++.

А, или это все-так не то, что надо.

Автор: MAKCim 17.8.2008, 09:53
Ulysses4j, 
не то

вы почитайте сначала, что делает fmemopen()

Автор: MTWizard 17.8.2008, 11:04
Если либа на плюсах, используй std::istringstrieam, std::ostreingstream, std::stringstream. Это практически то, что надо. 
Если на чистом C, то надо искать реализацию fmemopen под винду, ибо в самой RTL ею и не пахнет. А можно и самому написать smile

Автор: GrayCardinal 17.8.2008, 11:22
Всем спасибо, с этим вроде разобрались smile

Автор: MAKCim 17.8.2008, 11:25
Цитата(MTWizard @  17.8.2008,  11:04 Найти цитируемый пост)
А можно и самому написать

угу
лезть в реализацию FILE в RTL?  smile 

Автор: Alek86 17.8.2008, 11:53
MAKCim, пускай автор описует нормально, что он хочет, тогда и ответы будут совпадать с тем, что он хочет

Автор: andrew_121 17.8.2008, 12:24
Цитата(MAKCim @  17.8.2008,  11:25 Найти цитируемый пост)
лезть в реализацию FILE в RTL?

У меня есть реализация Си-шных функций с отображением в память.

Автор: MAKCim 17.8.2008, 12:36
Цитата(andrew_121 @  17.8.2008,  12:24 Найти цитируемый пост)
У меня есть реализация Си-шных функций с отображением в память. 

ак если в следующих версиях RTL реализация FILE изменится?  smile 
кроме того, отображение в память тут не причем
fmemopen() создает новый объект FILE и связывает его с буфером данных, который находится в памяти

Автор: andrew_121 17.8.2008, 13:44
Цитата(MAKCim @  17.8.2008,  12:36 Найти цитируемый пост)
fmemopen() создает новый объект FILE и связывает его с буфером данных, который находится в памяти

Так я об этом и говорю )))
Щас найду и выложу...

Автор: GrayCardinal 17.8.2008, 15:48
Следующий вопрос... Где слить доку по винапи ? На крайняк где смотреть через вэб.

Автор: andrew_121 17.8.2008, 15:51
GrayCardinal, Вот: http://forum.vingrad.ru/forum/topic-86452.html на этом же форуме. Я думаю админы не против ссылки на сей же форум )))

Автор: W4FhLF 17.8.2008, 15:54
Цитата(GrayCardinal @  17.8.2008,  15:48 Найти цитируемый пост)
 Где слить доку по винапи ? На крайняк где смотреть через вэб.


MSDN 

Автор: GrayCardinal 17.8.2008, 15:56
andrew_121, 
Эх, мля так влом детство вспоминать ... вин апи <censored>
но за линк спасибо - оно.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)