Форум программистов, компьютерный форум, киберфорум
Boost C++
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
0 / 0 / 0
Регистрация: 06.01.2016
Сообщений: 15
1

Вывести на экран имя файла, имеющего наименьшую длину среди файлов, расположенных в текущем каталоге

09.01.2016, 18:45. Просмотров 1230. Ответов 11
Метки нет (Все метки)


Здравствуйте,
Не знаю, как написать эту программу. Единственное что я придумал, что она долга иметь рекурсию

Вот вообщем-то и само задание:

Найти файл (выведите на экран его имя), имеющий наименьшую длину среди файлов, расположенных в текущем каталоге или его подкаталоге любой степени вложенности. Если таких файлов несколько, то найдите любой из них
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
09.01.2016, 18:45
Ответы с готовыми решениями:

Вывести на экран первые 2 строки всех файлов с раcширением 'root' в текущем каталоге
Вывести на экран первые 2 сторки всех файлов с роcширением 'root' в поточном каталоге пожалуйста,...

Модуль DOS. Вывести на экран размеры всех файлов, находящихся в текущем каталоге
Вывести на экран размеры всех файлов, находящихся в текущем каталоге, имена которых начинаются на...

Вывести имя файла с самой последней или с самой ранней датой последнего использования в текущем каталоге
Всем привет! Помогите, пжл., с написанием bat файла. Нужно: разработать командный файл, который...

Написать bat-файл, формирующий список всех файлов, расположенных в текущем каталоге на устройстве c:
а) Написать bat-файл формирующий список всех файлов, расположенных на устройстве c: в текущем...

__________________
Помогаю в написании курсовых работ и дипломов здесь.
Записывайтесь на профессиональные курсы C++ разработчиков
11
334 / 182 / 80
Регистрация: 22.08.2013
Сообщений: 724
09.01.2016, 18:57 2
Цитата Сообщение от tornad Посмотреть сообщение
Вот вообщем-то и само задание:
Найти файл (выведите на экран его имя), имеющий наименьшую длину среди файлов, расположенных в текущем каталоге или его подкаталоге любой степени вложенности. Если таких файлов несколько, то найдите любой из них
C++ здесь при чём?
0
0 / 0 / 0
Регистрация: 06.01.2016
Сообщений: 15
10.01.2016, 10:13  [ТС] 3
Задание для выполнения работ на с++
0
334 / 182 / 80
Регистрация: 22.08.2013
Сообщений: 724
10.01.2016, 10:23 4
Цитата Сообщение от tornad Посмотреть сообщение
Задание для выполнения работ на с++
В С++ нет средств для работы с каталогами.
0
Эксперт CЭксперт С++
5053 / 2237 / 330
Регистрация: 20.02.2013
Сообщений: 5,600
Записей в блоге: 24
10.01.2016, 13:11 5
Цитата Сообщение от nord_v Посмотреть сообщение
В С++ нет средств для работы с каталогами.
Boost/filesystem есть:
The Boost.Filesystem library provides facilities to manipulate files and directories, and the paths that identify them.
Вполне себе C++.
0
334 / 182 / 80
Регистрация: 22.08.2013
Сообщений: 724
10.01.2016, 13:38 6
Цитата Сообщение от gru74ik Посмотреть сообщение
Вполне себе C++.
Тогда и Qt вполне себе С++, и много что другое.
0
Don't worry, be happy
16972 / 9853 / 1897
Регистрация: 27.09.2012
Сообщений: 24,436
Записей в блоге: 1
10.01.2016, 13:39 7
Лучший ответ Сообщение было отмечено gru74ik как решение

Решение

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#include <iostream>
#include <algorithm>
#include <limits>
 
#include <boost/filesystem.hpp>
 
 
 
 
 
int main()
{
    using namespace boost::filesystem ;
    using rdi = boost::filesystem::recursive_directory_iterator ;
    size_t min_file_size = std::numeric_limits<size_t>::max() ;
    path min_size_path ;
    std::for_each(
            rdi("/home/"),
            rdi() ,
            [&min_file_size, &min_size_path](const boost::filesystem::directory_entry & dir_iter)
             {
                if( is_regular_file(dir_iter.path()) ){
                    size_t fsize = file_size(dir_iter.path()) ;
                    if( fsize<min_file_size ){
                        min_file_size = fsize ;
                        min_size_path = dir_iter.path() ;
                    }
                }
             }
    ) ;
    std::cout << "file: " << min_size_path << "\n\tsize: " << min_file_size <<std::endl ;
}
обработка ошибок на Вашей совести
3
334 / 182 / 80
Регистрация: 22.08.2013
Сообщений: 724
10.01.2016, 13:41 8
Boost здесь: https://www.cyberforum.ru/boost-cpp/
Qt здесь: https://www.cyberforum.ru/qt/

Добавлено через 1 минуту
В билдере, наверное, тоже что-то есть на эту тему: https://www.cyberforum.ru/cpp-builder/
и т.д., и т.п.
0
Эксперт CЭксперт С++
5053 / 2237 / 330
Регистрация: 20.02.2013
Сообщений: 5,600
Записей в блоге: 24
10.01.2016, 13:48 9
tornad, Boost Вам придётся отдельно ставить, если захотите воспользоваться примером от Croessmah.
0
Croessmah
10.01.2016, 13:49
  #10

Не по теме:

Цитата Сообщение от gru74ik Посмотреть сообщение
Boost Вам придётся отдельно ставить, если захотите воспользоваться примером от Croessmah.
а еще доработать не хило :D

0
sourcerer
10.01.2016, 13:51
  #11

Не по теме:

Цитата Сообщение от Croessmah Посмотреть сообщение
а еще доработать не хило
Ссылку на напильник дать не могу :D

0
Don't worry, be happy
16972 / 9853 / 1897
Регистрация: 27.09.2012
Сообщений: 24,436
Записей в блоге: 1
10.01.2016, 13:53 12
Цитата Сообщение от gru74ik Посмотреть сообщение
Ссылку на напильник дать не могу
О, как!
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
10.01.2016, 13:53

Заказываю контрольные, курсовые, дипломные работы и диссертации здесь или здесь.

Вывести на экран имя файла с наименьшим размером в каталоге
Привет всем, теперь мне нужно вывести на экран название файла с наибольшим размером, по моему ...

Как в начало каждой строки каждого текстового файла в текущем каталоге вставить имя этого же файла?
Здравствуйте, подскажите пожалуйста как в текущем каталоге, в начало каждой строки каждого...

Вывести расширения файлов в текущем каталоге (без повторов)
Помогите написать батник. Нужно вывести расширения файлов в текущем каталоге. Если есть несколько...

Среди файлов, расположенных в каталоге найти самый длинный файл
б) Среди файлов, расположенных в каталоге c:\Winnt найти самый длинный файл.


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.