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

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

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

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

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

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

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

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

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

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

да.
вообще доя правильного разбора полного пути надо использовать стек.
. означает ничего не делать,
.. делать pop
остальное - делать push.
...
Рейтинг: 0 / 0
функции библиотеки STL для работы с файлами
    #38525146
Фотография Anatoly Moskovsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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
6 сообщений из 6, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / функции библиотеки STL для работы с файлами
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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