3 / 3 / 1
Регистрация: 28.07.2011
Сообщений: 105
1

програмный поиск файла!

12.09.2011, 11:37. Показов 1385. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
народ помогите пожалуйста)мне надо написать код чтобы можно было найти какой либо файл на жестком.. как это можно осуществить на c++?
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
12.09.2011, 11:37
Ответы с готовыми решениями:

нужно написать програмный код для решения задачи создания бинарного файла
:cry: Написать програмный код для решения задачи создания бинарного файла.

Програмный выбор файла
Есть программа: Дано число k (< 10) и текстовый файл, содержащий более k строк. Удалить из файла...

Можно ли организовать програмный поиск, аналогичный поиску "найти всё"?
Кто знает,можно ли организовать програмный поиск ,аналогичный поиску 'найти всё'? Ещё вопрос.Нужен...

Програмный рейд 1
Всем привет. Ситуация такая: хочу создать програмный рейд 1 на 10-ке. Система стоит на другом...

9
Диссидент
Эксперт C
27687 / 17310 / 3807
Регистрация: 24.12.2010
Сообщений: 38,963
12.09.2011, 12:01 2
http://lmgtfy.com/?q=findnext
И еще надо будет рекурсию по подпапкам устроить
0
Петррр
12.09.2011, 12:07
  #3
 Комментарий модератора 
Не отсылайте других пользователей в поиск и избегайте ссылок на поисковые системы (Google, Yandex и др.). Самостоятельно найдите ответ на вопрос и разместите его на форуме.
0
В астрале
Эксперт С++
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
12.09.2011, 12:50 4
Ferk, boost::filesystem
0
Заблокирован
Автор FAQ
12.09.2011, 12:57 5
Цитата Сообщение от ForEveR Посмотреть сообщение
boost::filesystem
существуют ещё и "дедовские" алгоритмы поиска, которые успешно работают и работали ещё задолго до появления буста

Ferk, вот тебе проект, там не только поиск, а ещё и поиск по маске есть Поиск файла по шаблону
0
В астрале
Эксперт С++
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
12.09.2011, 13:01 6
-=ЮрА=-, Конечно. Но с бустом-то поудобнее будет
0
Модератор
Эксперт PythonЭксперт JavaЭксперт CЭксперт С++
12225 / 7357 / 1730
Регистрация: 25.07.2009
Сообщений: 13,468
12.09.2011, 14:23 7
Да полно таких тем на форуме!
нужна функция которая находит файлы
Ручная сортировка файлов по разрешениям
вот парочка на вскидку...
1
Заблокирован
Автор FAQ
12.09.2011, 14:28 8
Также возможен поиск c использованием IShellFolder (кстати в этом случае можно накапливать массив LPITEMIDLIST-ов из которых методом ParseDisplayName получать полные пути - такой подход сам юзаю сейчас от FindFirst(Next)File уже отказался, как от ресурсозатратного метода)
IShellFolder::EnumObjects > IEnumIDList->Next
0
Эксперт С++
5039 / 2618 / 241
Регистрация: 07.10.2009
Сообщений: 4,310
Записей в блоге: 1
12.09.2011, 14:51 9
-=ЮрА=-, так это только под форточки...
0
В астрале
Эксперт С++
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
12.09.2011, 15:43 10
Лучший ответ Сообщение было отмечено как решение

Решение

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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
#include <iostream>
#include <vector>
#include <iterator>
#include <string>
 
#include <boost/filesystem.hpp>
#include <boost/program_options/parsers.hpp>
#include <boost/program_options.hpp>
 
namespace po = boost::program_options;
namespace fs = boost::filesystem;
 
po::options_description arguments("Commands");
 
po::variables_map register_config(int argc, char* argv[])
{
    arguments.add_options()
        ("help", "show this message")
        ("directory,d", po::value<std::string>(), "full path directory for search in")
        ("file,f", po::value<std::string>(), "file name for search")
        ("ext,e", po::value<std::string>(), "extension for search")
    ;
    po::variables_map result;
    po::store(po::parse_command_line(argc, argv, arguments), result);
    po::notify(result);
    return result;
}
 
std::vector<fs::path> find_files_by_name(const std::string& directory, const std::string& file)
{
    fs::recursive_directory_iterator end;
    fs::path path(directory);
    std::vector<fs::path> result;
    for (fs::recursive_directory_iterator iter(path); iter != end;
         ++iter)
    {
        const fs::path& file_path = iter->path();
        if (file_path.filename() == file)
        {
            result.push_back(file_path);
        }
    }
    return result;
}
 
std::vector<fs::path> find_files_by_ext(const std::string& directory, const std::string& ext)
{
    fs::recursive_directory_iterator end;
    fs::path path(directory);
    std::vector<fs::path> result;
    for (fs::recursive_directory_iterator iter(path); iter != end;
         ++iter)
    {
        const fs::path& file_path = iter->path();
        if (file_path.extension() == ext)
        {
            result.push_back(file_path);
        }
    }
    return result;
}
 
int main(int argc, char* argv[])
{
    po::variables_map params = register_config(argc, argv);
    std::string directory;
    std::string file;
    std::string ext;
    if (params.count("directory"))
    {
        directory = params["directory"].as<std::string>();
    }
    if (params.count("file"))
    {
        file = params["file"].as<std::string>();
    }
    if (params.count("ext"))
    {
        ext = params["ext"].as<std::string>();
    }
    if (directory.empty() && (file.empty() || ext.empty()))
    {
        std::cerr << "usage: " << arguments << std::endl;
        return 1;
    }
    std::vector<fs::path> paths;
    if (!file.empty())
    {
        paths = find_files_by_name(directory, file);
        std::cout << "Files with name: " << file << ":" << std::endl;
        std::copy(paths.begin(), paths.end(), std::ostream_iterator<fs::path>(std::cout, "\n"));
    }
    if (!ext.empty())
    {
        paths = find_files_by_ext(directory, ext);
        std::cout << "Files with ext: " << ext << ":" << std::endl;
        std::copy(paths.begin(), paths.end(), std::ostream_iterator<fs::path>(std::cout, "\n"));
    }
    return 0;
}
Код
forever@pterois:~/My_pro1/test_library/tests$ ./tag_test -d /home/forever/My_pro1/python/Gray\ Hat\ Python/src/ -e .py
Files with ext: .py:
/home/forever/My_pro1/python/Gray Hat Python/src/uno_work.py
/home/forever/My_pro1/python/Gray Hat Python/src/Test_m.py
/home/forever/My_pro1/python/Gray Hat Python/src/card_stat.py
/home/forever/My_pro1/python/Gray Hat Python/src/ooHelper.py
/home/forever/My_pro1/python/Gray Hat Python/src/chapter1-printf.py
/home/forever/My_pro1/python/Gray Hat Python/src/card_reg.py
/home/forever/My_pro1/python/Gray Hat Python/src/ereport.py
/home/forever/My_pro1/python/Gray Hat Python/src/my_module.py
/home/forever/My_pro1/python/Gray Hat Python/src/card_registry.py


forever@pterois:~/My_pro1/test_library/tests$ ./tag_test -d /home/forever/My_pro1/python/Gray\ Hat\ Python/src/ -f my_module.py
Files with name: my_module.py:
/home/forever/My_pro1/python/Gray Hat Python/src/my_module.py
3
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
12.09.2011, 15:43
Помогаю со студенческими работами здесь

програмный код
Помогите плиз разобраться.Написали прогу, немогу понять как она работает.Конкретно нужны красные...

Програмный тест
Добрый вечер!!! Требуется создать тест ( 10 вопросов и по 3-5 вариантов ответа на каждый вопрос) с...

Програмный диск
Скажите пожалуйста как создать програмный диск Чтобы была автозагрузка как у ZVER DVD или FUCK YOU...

Реализовать поиск заданного файла в древе каталогов и поиск указанной информации в этом файле
Имеется много папок в каждой папке есть файл proc.txt, как можно по всем этим папкам пройтись и из...

Програмный скролл ListBox
Есть ListBox. Внутренний scrollviewer листбокса скрыт. Нужно сделать скрол итемов внешними...

Подредактировать програмный код
У меня такое задание, программа покадрогвого просмотра файлов. Ну тоесть как я понял, посимвольного...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru