Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / C++ [игнор отключен] [закрыт для гостей] / функции библиотеки STL для работы с файлами / 6 сообщений из 6, страница 1 из 1
12.01.2014, 20:57
    #38523707
Ilya Zher
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
функции библиотеки STL для работы с файлами
требуется реализовать программу, в которой будет считываться папка.
-нужно подсчитать макс вложенность (путь к папке)
-5 самых часто встречающихся символов и в % выразить их
-подсчитать кол-во одинаковых имен папок (из разных папок)
Например, c:\user\desktop\folder\test1\papka1
c:\user\desktop\folder\papka1

какие функции можно использовать или из библиотеки STL, или не из неё?

2 курс, С++
...
Рейтинг: 0 / 0
12.01.2014, 22:32
    #38523756
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
функции библиотеки STL для работы с файлами
Ilya Zher,

боюсь, что никакие... нет таких стандартных функций.
...
Рейтинг: 0 / 0
13.01.2014, 18:41
    #38524903
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
функции библиотеки STL для работы с файлами
Если воспринимать path как просто текст, и самому делать всю обработку, то

-нужно подсчитать макс вложенность (путь к папке)

это можно сделать с помощью strtok или boots::regex

-5 самых часто встречающихся символов и в % выразить их

это вообще просто руками, сделать таблицу символов, и считать их частоту.

-подсчитать кол-во одинаковых имен папок (из разных папок)

Это -- тоже разбирая путь с помощью strtok или boots::regex на части, а потом сделав словарь (std::map) имён папок можно посчитать их частоту использования.
...
Рейтинг: 0 / 0
13.01.2014, 18:45
    #38524908
Изопропил
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
функции библиотеки STL для работы с файлами
при вычислении вложенности неплохо бы обратить внимание на . и ..
...
Рейтинг: 0 / 0
14.01.2014, 02:18
    #38525128
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
функции библиотеки STL для работы с файлами
Изопропил,

да.
вообще доя правильного разбора полного пути надо использовать стек.
. означает ничего не делать,
.. делать pop
остальное - делать push.
...
Рейтинг: 0 / 0
14.01.2014, 04:31
    #38525146
Anatoly Moskovsky
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
функции библиотеки STL для работы с файлами
MasterZiv,

Тут путь формируется самим алгоритмом по мере сканирования.
Так что никаких . и .. там быть не должно :)

Ну и раз там выше упомянули Буст, то вот как в нем сканировать дерево папок:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
#include <iostream>
#include <boost/filesystem.hpp>

using namespace std;
using namespace boost::filesystem;

int main()
{
    path root = "/tmp";
    for (recursive_directory_iterator dir(root), end; dir != end; ++dir)
    {
        cout << dir->path() << endl;
    }
    return 0;
}


Это к вопросу о стандартных средствах в С++ - boost::filesystem скорее всего попадет в один из ближайших выпусков стандарта С++. Ну по крайней мере он точно уже стандарт дефакто.

Осталось подсчитать 5 символов, или что там требуется, ну вобщем то что мне лень делать
...
Рейтинг: 0 / 0
Форумы / C++ [игнор отключен] [закрыт для гостей] / функции библиотеки STL для работы с файлами / 6 сообщений из 6, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]