![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| denisminb |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 36 Регистрация: 9.6.2012 Репутация: нет Всего: нет |
Добрый вечер, помогите пожалуйста реализовать до конца задачу.
осталось, определить: -средний размер для каждой группы файлов (группировать по расширению и отдельной строкой - для всех) - рекурсивно по всей папке. Вычисляю размер файлов,папок,количество- так:
До конца,так и не могу решить задачу |
|||
|
||||
| volatile |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2107 Регистрация: 7.1.2011 Репутация: 37 Всего: 85 |
||||
|
||||
| NoviceF |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 313 Регистрация: 13.3.2012 Где: Ростов-на-Дону Репутация: нет Всего: 2 |
|
|||
|
||||
| denisminb |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 36 Регистрация: 9.6.2012 Репутация: нет Всего: нет |
да,esignal. с потоками средне дружу. Вы в контору прошли? |
|||
|
||||
| denisminb |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 36 Регистрация: 9.6.2012 Репутация: нет Всего: нет |
А без потоков как решить?
Добавлено через 10 минут и 4 секунды volatile, А можете на не больщом примере показать,что имели ввиду? |
|||
|
||||
| NoviceF |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 313 Регистрация: 13.3.2012 Где: Ростов-на-Дону Репутация: нет Всего: 2 |
Нет.. к сожалению или к счатью, пока не знаю Известными мне способами никак.. читайте в конце задания, что-то типа "интерфейс пользователя не должен замирать... бла бла бла", вот тут и нужна будет многопоточность. Я как смог сделал все пункты, кроме этого.. ну и ещё у меня русские пути в файловой системе не понимала программа, это, я считаю, была проблема Qt, с аглийскими путями всё прекрасно работало и даже гуи был, только в одном потоке с логикой. Это сообщение отредактировал(а) NoviceF - 21.1.2013, 12:37 |
|||
|
||||
| NoviceF |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 313 Регистрация: 13.3.2012 Где: Ростов-на-Дону Репутация: нет Всего: 2 |
не знаю насколько это показательно.. и сделать конечно можно намного красивее и правильнее, но тем не менее просто покажу что когда-то делал я Сначала проходим по всем путям нужной нам директории, и средствами Qt, а точнее вот такого класса QFileInfoList, пути сохраняем в QStringList datalist. Проходим по QStringList datalist, выбирая только расришения, сохраняем их в set<std::string>. Даём на вход функции map вида std::map<std::string, vector<std::string> > (тут у нас в итоге должны содержаться данные в виде: ключ - расширение файла, значения - пути к файлам) и set<std::string> содержащий расширения.
пысы, только не нужно пинать меня за стиль и приёмы, по сути был мой первый опыт что-то писать самостоятельно Это сообщение отредактировал(а) NoviceF - 21.1.2013, 12:43 |
|||
|
||||
| volatile |
|
||||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2107 Регистрация: 7.1.2011 Репутация: 37 Всего: 85 |
создать ассоциативный контейнер, скажем
передать его по ссылке, в вашу функцию
в функции выделить расширение очередного файла в строковую переменную, скажем ext; т.е. для для "prog.exe", ext должно быть "exe" Ну и прибавлять размеры в группы:
после возврата, в массиве groups будут суммы размеров файлов, сгруппированных по расширению. ***еще, пожалуй, std::string и AnsiString смешивать в одной програаме не стоит. Так что вибирайте сами. если не секрет вы о какой конторе? Добавлено через 4 минуты и 54 секунды код NoviceF, не видел когда писал |
||||||
|
|||||||
| NoviceF |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 313 Регистрация: 13.3.2012 Где: Ростов-на-Дону Репутация: нет Всего: 2 |
вот об этой eSignal http://hh.ru/employer/116364 Это сообщение отредактировал(а) NoviceF - 21.1.2013, 13:21 |
|||
|
||||
| denisminb |
|
||||
|
Новичок Профиль Группа: Участник Сообщений: 36 Регистрация: 9.6.2012 Репутация: нет Всего: нет |
Да.....Qt я не знаю. Это точно. Надо по другому думать |
||||
|
|||||
| NoviceF |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 313 Регистрация: 13.3.2012 Где: Ростов-на-Дону Репутация: нет Всего: 2 |
||||
|
||||
| volatile |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2107 Регистрация: 7.1.2011 Репутация: 37 Всего: 85 |
||||
|
||||
| Dem_max |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1780 Регистрация: 12.4.2007 Репутация: 4 Всего: 39 |
Чтобы писать многопоточные приложения работающие с GUI под windows на QT нужно постараться, так как сигналы в QT организованны так что предусматривают блокировку потока GUI.
-------------------- Американские программисты долго не могли понять, почему русские при зависании Windоws всё время повторяют "Твой зайка написал" ("Yоur bunnу wrоte") |
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |