![]() |
Модераторы: Daevaorn |
![]() ![]() ![]() |
|
andrew_121 |
|
||||||
![]() Кодофей ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3448 Регистрация: 3.1.2008 Репутация: 6 Всего: 33 |
Ситуация следующая.
Есть набор строк.
Есть расширение файла в виде строки. По расширению нужно определить тип файла. Это можно сделать при помощи функций.
Но как-то нелепо ![]() Нужно чтоб функция:
возвращала тип файла. Предложите что нить более правильное. Спасибо! Добавлено @ 18:57 П.С. Не знаю куда отнести .def файл. Дополните пожалуйста расширения файлов. Если что-то пропустил. Это сообщение отредактировал(а) andrew_121 - 20.6.2009, 19:25 -------------------- Удалил аккаунт. Прощайте! |
||||||
|
|||||||
zim22 |
|
||||
![]() depict1 ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2682 Регистрация: 15.1.2009 Где: Украина Репутация: 24 Всего: 69 |
ассоциативный массив не хотите завести?
*** только имейте ввиду, что эта строчка
будет выполняться весьма специфически ![]() т.е. если "lib" будет найдено - вернётся его значение. если не найдено - ключ lib создастся со значением по умолчанию для типа eType так что более правильно через функцию map::count проверять есть ли элемент в map или нет ;) Это сообщение отредактировал(а) zim22 - 20.6.2009, 20:02 |
||||
|
|||||
andrew_121 |
|
|||
![]() Кодофей ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3448 Регистрация: 3.1.2008 Репутация: 6 Всего: 33 |
Т.е. Все категории запихнуть в один массив? Вариант! -------------------- Удалил аккаунт. Прощайте! |
|||
|
||||
nix_crash |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 6 Регистрация: 15.10.2007 Репутация: нет Всего: нет |
Это я, Andrew_121. Получил бан. Не понятно за что... Наверное за нелюбовь к виндавз
![]() По теме:
Да. Естественно. Уже сделал. Спасибо за помощь! Тема закрыта. Добавлено через 1 минуту и 15 секунд ГЫ ![]() Закрою когда бан вылечу ![]() |
|||
|
||||
Любитель |
|
|||
Программист-романтик ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3645 Регистрация: 21.5.2005 Где: Воронеж Репутация: 24 Всего: 92 |
Зачем count?! find - вернёт итератор для найденного элемента. Если он неравен myMap.end() - разыменовываем его и возвращаем, если равен - возвращаем какое-нибудь значение для неизвестного типа файла. |
|||
|
||||
zim22 |
|
|||
![]() depict1 ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2682 Регистрация: 15.1.2009 Где: Украина Репутация: 24 Всего: 69 |
![]() count Complexity: Logarithmic in size. find Complexity: At most, performs as many comparisons as the number of elements in the range [first,last). *** ааа, понял! вы наверное имели ввиду не std::find из <algorithm>, а std::map::find ![]() тогда да, согласен ![]() ![]() standard:
Это сообщение отредактировал(а) zim22 - 21.6.2009, 11:52 |
|||
|
||||
azesmcar |
|
|||
![]() uploading... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6291 Регистрация: 12.11.2004 Где: Армения Репутация: 81 Всего: 211 |
zim22
А зачем сравнивать std::map::count и std::find? Это не честно ![]() std::find - универсальный алгоритм, он работает на всех, STL совместимых контейнерах, но...универсальные алгоритмы не рекомендуется использовать на тех контейнерах, которые имеют свою собственную реализацию. Алгоритм find не может знать ничего он внутренней структуре map и потому ищет линейно. |
|||
|
||||
Любитель |
|
|||
Программист-романтик ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3645 Регистрация: 21.5.2005 Где: Воронеж Репутация: 24 Всего: 92 |
||||
|
||||
![]() ![]() ![]() |
Правила форума "С++:Общие вопросы" | |
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |