![]() |
|
Модераторы: 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 |
||||
|
|||||
| baldina |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3433 Регистрация: 5.12.2007 Где: Москва Репутация: 15 Всего: 101 |
||||
|
||||
| borisbn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4875 Регистрация: 6.2.2010 Где: Ростов-на-Дону Репутация: 21 Всего: 135 |
в std::string нет элементарного перевода строки в число и наоборот (в 11-м сделали to_string, но больно он убогий) там же нет нормальной функции replace( string before, string after, bool replaceAll ) в boost::filesystem нет итерирования по каталогу по маске (*.jpg, например) ни в std:: ни в boost:: нет возможности работать с вебом на высоком уровне (даже не хочется представлять сиплюсплюсного или бустового монстра, который нужен для того, чтобы скачать какой-нить файл из интернета) продолжать можно долго... но, думаю, Си++ создан не для всего этого, а для низкоуровневых, быстрых и простых приложений (а-ля утилитки командной строки у пингвинов) -------------------- Женщины отличаются от программистов тем, что у них чары состоят из стрингов |
|||
|
||||
| Amp |
|
||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 886 Регистрация: 17.2.2009 Репутация: нет Всего: 17 |
А разве не твоя любимая тема - поливать Qt за какие-то проблемы QObject с шаблонами, нет?
Что-то ты сам себя отцитировал. |
||||
|
|||||
| boostcoder |
|
||||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 20 Всего: 110 |
почему же вам не понятна необходимость в phoenix и ration?
нет. в буст принимается все, что соответствует стайлу буста. библиотееки не принимаются по двум причинам: 1. недопиленность. 2. недостаточная аргументированность. причем, первый пункт - это около 90 процентов. пойди посмотри boost vault, сколько там библиотек. и напиши с список рассылки дабы узнать статус библиотеки. почти стандартный ответ в этом случае: автор не сделал необходимые изменения/автор пропал.
основа о старом... зачм строке переводится в номер и наоборот? какое отношение строка имеет к дигиталам? фейспалм фейспалм Добавлено через 7 минут и 45 секунд а std::string::iterator итерируется по маске символов? народ, что с вами не так? откуда беруться подобные желания?! |
||||
|
|||||
| baldina |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3433 Регистрация: 5.12.2007 Где: Москва Репутация: 15 Всего: 101 |
||||
|
||||
| boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 20 Всего: 110 |
тема открыто создается в списке рассылки. все желающие высказывают свое мнение и задаюст вопросы. |
|||
|
||||
| baldina |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3433 Регистрация: 5.12.2007 Где: Москва Репутация: 15 Всего: 101 |
||||
|
||||
| boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 20 Всего: 110 |
подсчитываются "за" и "против".
Добавлено через 2 минуты и 1 секунду baldina, ты прицепился к редкому случаю, когда библиотеку не хотят принять в состав буст. основная причина - недоделки и забивания авторов. |
|||
|
||||
| baldina |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3433 Регистрация: 5.12.2007 Где: Москва Репутация: 15 Всего: 101 |
я не цеплялся. просто выразил скромное мнение, сложившееся у меня от состава boost и способов его разработки
|
|||
|
||||
| boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 20 Всего: 110 |
ошибочное мнение.
|
|||
|
||||
| baldina |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3433 Регистрация: 5.12.2007 Где: Москва Репутация: 15 Всего: 101 |
если сначала я думал о буст как о наборе полезных библиотек, создающих среду разработки (т.е. хотя бы концептуально целостный набор), то после пришло понимание, что до среды ему далеко, это просто vault всяко-разного, удовлетворяющего неким формальным признакам, а также вкусам рулевых. имхо.
это не умаляет ни достоинства библиотек, в него входящих, ни свершения разработчиков, в т.ч. рулевых. Добавлено через 2 минуты и 19 секунд обоснуй |
|||
|
||||
| boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 20 Всего: 110 |
выше же описал. выше обосновал. |
|||
|
||||
![]()
|
| Правила форума "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. |