Форум программистов, компьютерный форум CyberForum.ru

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Вычислить формулу http://www.cyberforum.ru/cpp-beginners/thread350578.html
\frac{{x}^{k}}{k!} Нужно расписать, чтобы не было переполнения
C++ Сравнение результатов двух математических выражений. Напишите программу для расчета с двумя формулами. Сначала нужно подготовить тестовые примеры использования второго Формула рассчитывается на калькуляторе (результаты первой формулы должны быть такими же, как и для второй). Чтобы использовать математических формул нужно включить#include <cmath> библиотеки. http://www.cyberforum.ru/cpp-beginners/thread350553.html
C++ Миссионеры и людоеды
Помогите разобраться в логической задаче. Условие. Миссионеры и людоеды. Три миссионера и три людоеда находятся по одну сторону реки, через которую они хотят переправиться. В их распоряжении имеется лодка, которая может выдержать вес только двух человек. Кроме того, если в какой-то момент число людоедов станет больше числа миссионеров, миссионеры будут съедены независимо от того, на каком...
Алгоритм определения наличия текста в файле. C++
Всем доброго времени суток. Собственно вопрос в теме. Есть произвольный бинарный файл, содержит набор спецсимволов типа %:?*№ и т.д. и текст "Привет, это тест!" Подскажите где копать, по поводу алгоритма определения текста в файле. Т.е. моя задача написать функцию, которая вернет мне 1, если файл, помимо спецсимволов содержит текст. Можно тупо загнать все символы в исключение и сканировать,...
C++ Прошу помощи по коду (нужен алгоритм) http://www.cyberforum.ru/cpp-beginners/thread350528.html
Условие задачи: Дано 36-ричное число, содержащее не более 100 цифр (цифры 10,11,...,35 кодируются заглавными латинскими буквами А,В,...,Z). Переставить цифры числа таким образом, чтобы оно стало "счастливым". "Счастливым" будем называть число из N цифр, у которого сумма первых цифр равна сумме последних цифр. Если такая перестановка невозможна, вывести сообщение "impossible" Код программы:...
C++ сортировка пузырьком #include <iostream> using namespace std; void main() { const n=4; int a,i,j,buffer; for(i=0;i<n;i++) cin>>a; for (i=0; i<n-1; i++) подробнее

Показать сообщение отдельно
ForEveR
Модератор
Эксперт С++
 Аватар для ForEveR
7955 / 4717 / 318
Регистрация: 24.06.2010
Сообщений: 10,525
Завершенные тесты: 3
12.09.2011, 15:43     програмный поиск файла!
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
 
Текущее время: 08:11. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru