![]() |
|
Модераторы: bsa |
![]()
|
|
| cupper |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 525 Регистрация: 29.11.2006 Репутация: нет Всего: 1 |
Есть ли в std или boost абстракция над fstream & FILE, которая хранила бы имя файла, режим открытия, размер и прочую хрень информацию о файле ?
В boost нашел тока filesystem::path но это не то, совсем не то. Казалось бы такая простая и полезная штука, а ее блин нигде нету.
|
|||
|
||||
| boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 20 Всего: 110 |
а для чего такое могло понадобится? оО
|
|||
|
||||
| cupper |
|
||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 525 Регистрация: 29.11.2006 Репутация: нет Всего: 1 |
а почему это могло бы не понадобится ?)
проблема началась с того что из fstream нельзя получить имя файла. По этому передавать fstream в функцию не круто. Значит надо передавать пару <fstream, name>. А еще иногда хочется делать отложенное открытие файла, но что бы файловая абстракция уже была. Тогда можно сделать
|
||||
|
|||||
| borisbn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4875 Регистрация: 6.2.2010 Где: Ростов-на-Дону Репутация: 21 Всего: 135 |
-------------------- Женщины отличаются от программистов тем, что у них чары состоят из стрингов |
|||
|
||||
| cupper |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 525 Регистрация: 29.11.2006 Репутация: нет Всего: 1 |
не использую в работе QT, поэтому даже и не вспомнил про него :( Жаль что нет такой же абстракции в бусте.
|
|||
|
||||
| boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 20 Всего: 110 |
начнем с того, что подобного нет как при использовании дескрипторов, так и сишных файловых потоков(FILE). и там подобного так же нет, и потой же причине - потому что ненадо.
хз откуда взялась мысль о том, что файловый объект/поток/дескриптор должен знать имя. Это сообщение отредактировал(а) boostcoder - 26.6.2012, 11:08 |
|||
|
||||
| cupper |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 525 Регистрация: 29.11.2006 Репутация: нет Всего: 1 |
хз откуда у вас взялась мысль, что файловый дескриптор должен знать имя. Имя должна знать более высокоурожайная абстракция. Не удивительно что этого нет в С++, там вообще ничего нет. Странно что этого нет в boost. |
|||
|
||||
| boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 20 Всего: 110 |
STL как и boost - не фреймверки, и слава алаху.
хз с чего вы решили что файловый поток должен знать имя. Добавлено через 58 секунд читай выше - |
|||
|
||||
| Amp |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 886 Регистрация: 17.2.2009 Репутация: нет Всего: 17 |
Ну в boost-то библиотеки тащатся вообще по непонятным критериям, отчего бы там и такому не быть
|
|||
|
||||
| boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 20 Всего: 110 |
для вас Добавлено через 56 секунд расскажите, какая из библиотек включенных в последнее время, навела вас на такую мысль? |
|||
|
||||
| Amp |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 886 Регистрация: 17.2.2009 Репутация: нет Всего: 17 |
Например "свежие" phoenix, compile-time ratio. И при этом сидеть без средств для работы с xml.
|
|||
|
||||
| borisbn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4875 Регистрация: 6.2.2010 Где: Ростов-на-Дону Репутация: 21 Всего: 135 |
а какая проблема сделать такую обёртку ? кстати, у неё можно переопределить оператор приведения к fstream...
Добавлено через 1 минуту и 57 секунд как это без xml ? а это - http://www.boost.org/doc/libs/1_49_0/doc/h...e/tutorial.html -------------------- Женщины отличаются от программистов тем, что у них чары состоят из стрингов |
|||
|
||||
| boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 20 Всего: 110 |
ну понятно. логика по пронципу: для меня не понятно - значит не нужно. |
|||
|
||||
| Amp |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 886 Регистрация: 17.2.2009 Репутация: нет Всего: 17 |
Скажи честно - ты бы взял property tree для работы с xml-ем в проекте? Для документов пообъемнее 10-и строк и сложнее того, что в примерах. Это немного специализированный инструмент и они сами в документации говорят, что на момент написания в boost отсутствует xml-парсер, поэтому берем куций, но маленький быстрый сторонний. Тут уже наверняка все это десятки раз перетирали, но смотри какая штука. Буст пухнет от библиотек, которые нужны очень ограниченному количеству людей, но при этом не стремится обрастать такими, которые нужны большинству. С другой стороны - они эдакий испытательный полигон перед попадением в стандарт и возможно время покажет применимость той или иной библиотеки. |
|||
|
||||
| boostcoder |
|
||||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 20 Всего: 110 |
для них есть тыща недолиб и фреймверков, типа кути. зачем им буст? к пониманию в необходимости буста, приходят в следствии того, что все остальное неподходит. именно по этому буст не стремится быть как все - ибо надобность в нем отпадет. вот сам подумай, скольким кутешникам нужен буст для клеапния окошек и диалогов? ;) Добавлено @ 12:34
за два года чтения списка рассылки буста, я не встретил ни одного сообщения подобного тем, что регулярно читаю на кутефорумах. подумай, почему? ;) Это сообщение отредактировал(а) boostcoder - 26.6.2012, 12:35 |
||||
|
|||||
![]()
|
| Правила форума "C/C++: Для новичков" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Для новичков | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |