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

Нужно отредактировать код поиска в некоторых папках. Добавить функцию поиска в архивах - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Наследование: выделение память 2 способами - какая между ними разница http://www.cyberforum.ru/cpp-beginners/thread1226946.html
Доброй ночи! Целый год все было нормально, а этой ночью что-то случилось с моей головой. Я в итоге полностью запутался с наследованием Вот такой вот код. Выделяю память 2 способами Какая между ними разница, если все равно доступ только к одному свойству a??? class Parent
C++ Определить номер члена ряда, величина которого меньше 0,6 3 Определить номер члена ряда , величина которого меньше 0,6 S=1+\sum_{n=1}^{\infty}\frac{x^n}{n!}\; ,\; x=0,9 http://www.cyberforum.ru/cpp-beginners/thread1226942.html
Вычислить сопротивление цепи, состоящей из трех резисторов C++
2 Написать функцию , которая вычисляет сопротивление цепи , состоящей из трех резисторов , два из которых соединены параллельно.
C++ Найти три наименьших элемента произвольного одномерного массива
1 Найти 3 наименьших элемента произвольного одномерного массива.
C++ Загрузка проекта на sourceforge http://www.cyberforum.ru/cpp-beginners/thread1226936.html
Никогда не пользовался svn ( загрузкой файлов на репозиторий ) , и задаюсь вопросом, как закачать исходники на репозиторий? К примеру сюда http://sourceforge.net/p/tankclient/code/ ( сюда и хочу ) Помогите пожалуйста
C++ Зависимость преодолённого бегуном расстояния от времени Нужна подсказка в решении задачи, новичку! (толчок в нужном направлении) Всем привет! есть такая задача, по которой надо написать небольшую консольку на с++ но я не могу пока в суть въехать, с чего начать! надеюсь на подсказку) суть задачи такова: " Некий спортсмен бежит "Х" количество метров за "Y" секунд! Вывести на экран количество км (метров) которое он пробежал, и за какое... подробнее

Показать сообщение отдельно
artik009
0 / 0 / 0
Регистрация: 13.07.2014
Сообщений: 31

Нужно отредактировать код поиска в некоторых папках. Добавить функцию поиска в архивах - C++

14.07.2014, 10:25. Просмотров 254. Ответов 1
Метки (Все метки)

Нашёл одну программку, работает отлично, но вот не идёт поиск в таких местах как С:\users или C:\Windows
Как это исправить?(желательно напишите код, а то я практически 0 в Си)
И ещё желательно сделать чтобы вело поиск в архивах также

Visual Studio 2010

Вот код:

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
101
102
#include <stdio.h>
#include <stdlib.h>
#include <windows.h>
#include <locale.h>
 
#define MAX_SIZE 512
 
#define __DEBUG
 
void show_files(const wchar_t * _path, const wchar_t * mask, char Recursive )
{
    WIN32_FIND_DATA data;
    HANDLE h;
    wchar_t temp[MAX_SIZE], nextpath[MAX_SIZE], path[MAX_SIZE];
    int n, len;
 
    wcscpy(path, _path);
 
    len = wcslen(_path);
 
    if ( _path[ len - 1] != '\\' )
    {
        path[len] = '\\';
        path[len + 1] = '\0';
    }
 
    wcscpy(temp, path);
    wcscat(temp, mask);
 
    h = FindFirstFile
    (
      temp,
      &data
    );
 
    
    if ( h != INVALID_HANDLE_VALUE )
    {
        
        do 
        {
            wprintf(L"%s%s\n", path, data.cFileName);
        }
        while ( n = FindNextFile(h, &data ) );
    }
    
 
    FindClose(h);
 
    if ( Recursive )
    {
        wcscpy(temp, path);
        wcscat(temp, L"*.*");
 
        h = FindFirstFile
        (
            temp,
            &data
        );
 
        if ( h != INVALID_HANDLE_VALUE )
        {
            do 
            {
                if ( 
                    data.dwFileAttributes == FILE_ATTRIBUTE_DIRECTORY 
                    && wcscmp(data.cFileName, L".") != 0 
                    && wcscmp(data.cFileName, L"..") != 0 
                )
                {
                    wcscpy(nextpath, path);
                    wcscat(nextpath, data.cFileName);
                    show_files( nextpath, mask, 1 );
                }
            }
            while ( n = FindNextFile(h, &data ) );
        }
 
    }
 
    FindClose(h);
}
 
int main(int argc, char ** argv)
{
    
    wchar_t path[MAX_SIZE], mask[MAX_SIZE];
    setlocale(LC_CTYPE, "");
 
    wprintf(L"Введите начальную директорию\n");
    fgetws(path, MAX_SIZE, stdin);
    path[ wcslen(path) - 1] = 0;
 
    wcscpy(mask, L"Titanium.*");
 
    show_files(path, mask, 1);
 
    puts("\nDone.");
    system("pause");
 
    return 0;
}
Добавлено через 7 часов 43 минуты
update
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru