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

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

Восстановить пароль Регистрация
 
artik009
0 / 0 / 0
Регистрация: 13.07.2014
Сообщений: 31
14.07.2014, 10:25     Нужно отредактировать код поиска в некоторых папках. Добавить функцию поиска в архивах #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
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.07.2014, 10:25     Нужно отредактировать код поиска в некоторых папках. Добавить функцию поиска в архивах
Посмотрите здесь:

C++ Написать функцию рекурсивного бинарного поиска
C++ вид поиска, метод поиска
нужно отредактировать код, где то ошибка C++
написать код для поиска в записанном ранее файле по фамилии или по группе с выбором параметра поиска C++
C++ Нужно отредактировать код
Вставка поиска в програмный код C++
Добавить методы поиска медианного элемента в матрице и векторе C++
Организация поиска в списке. Исправить ошибку в методе поиска C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
nmcf
4324 / 3745 / 1260
Регистрация: 14.04.2014
Сообщений: 14,688
14.07.2014, 13:39     Нужно отредактировать код поиска в некоторых папках. Добавить функцию поиска в архивах #2
Может у тебя просто прав нет на доступ в эти папки? С учётной записью Администратора запускать пробовал?
Чтобы работал поиск в архивах двумя строчками не обойдёшься, надо подключать библиотеки для работы с архивами.
Yandex
Объявления
14.07.2014, 13:39     Нужно отредактировать код поиска в некоторых папках. Добавить функцию поиска в архивах
Ответ Создать тему
Опции темы

Текущее время: 01:30. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru