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

C++

Войти
Регистрация
Восстановить пароль
 
NaV'i4ok
3 / 3 / 0
Регистрация: 18.03.2011
Сообщений: 85
#1

Поиск файлов на локальном компьютере - C++

29.09.2012, 00:27. Просмотров 859. Ответов 1
Метки нет (Все метки)

Доброго всем времени суток!
Подскажите как на С++ получить список корневых директорий(С: , Е: и тд)?Есть какая-нибудь функция типа как File.listRoots() в Джаве?
И не работает рекурсия поиска файла, может кто подскажет в чем проблема:
C++
1
2
3
4
5
int _tmain(int argc, TCHAR *argv[])
{
    FSearch(TEXT("E:"));
    return 0;
}
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
DWORD FSearch(TCHAR* pstr)
{
   WIN32_FIND_DATA ffd;
   LARGE_INTEGER filesize;
   TCHAR szDir[MAX_PATH];
   size_t length_of_arg;
   HANDLE hFind = INVALID_HANDLE_VALUE;
   DWORD dwError=0;
   
   // Prepare string for use with FindFile functions.  First, copy the
   // string to a buffer, then append '\*' to the directory name.
   StringCchCopy(szDir, MAX_PATH, pstr );
   StringCchCat(szDir, MAX_PATH, TEXT("\\*"));
   _tprintf(TEXT("\nTarget directory is %s\n"), szDir );
 
   // Find the first file in the directory.
 
   hFind = FindFirstFile(szDir, &ffd);
 
   if (INVALID_HANDLE_VALUE == hFind) 
   {
      //DisplayErrorBox(TEXT("FindFirstFile"));
      return dwError;
   } 
   
   // List all the files in the directory with some info about them.
   do
   {
      if (ffd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)
      {
         _tprintf(TEXT("\n  %s   <DIR>"), ffd.cFileName);
        TCHAR ndir[MAX_PATH];
         StringCchCopy(ndir, sizeof(szDir), szDir );
         StringCchCat( ndir, MAX_PATH/* - sizeof(ffd.cFileName)*/, ffd.cFileName);
         StringCchCat(ndir, MAX_PATH, TEXT("\\*"));
         FSearch(ndir);
      }
      else
      {
         filesize.LowPart = ffd.nFileSizeLow;
         filesize.HighPart = ffd.nFileSizeHigh;
         _tprintf(TEXT("\n  %s   %ld bytes\n"), ffd.cFileName, filesize.QuadPart);
      }
   }
   while (FindNextFile(hFind, &ffd) != 0);
 
   dwError = GetLastError();
   if (dwError != ERROR_NO_MORE_FILES) 
   {
      //DisplayErrorBox(TEXT("FindFirstFile"));
   }
 
   FindClose(hFind);
   return dwError;
   //return true;
}
... не выводятся файлы из вложенных папок...
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.09.2012, 00:27
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Поиск файлов на локальном компьютере (C++):

Поиск файлов на локальном диске - C++
Доброго всем времени суток! Как с помощью WinApi найти список папок на локальных дискахб если FindFirstFile первым аргументом букву диска...

Отслеживание изменений файлов на компьютере - C++
Здравствуйте. Прошу помощи, задача написать программу отката, т.е. как функция восстановления windows только написать на с++, подскажите...

Запуск программы на локальном компьютере - C++ Builder
Предыстория: На работе, на компе 1 каждое утро скачивается файлик N прогой написаной на с++ builder. На втором компе этот файлик N...

Поиск файлов - C++ Builder
Ув.программисты как можно организовать поиск файлов в папке.мне нужно в папке найти все файлы .doc ...

поиск файлов - C++ Builder
Как создать поиск файлов на диске на С++ Builder???? помогите:'( заранее спасибо!

Поиск файлов на ПК - C++ Builder
Надо провести поиск фалов с заданными именами на ПК. Поиск надо осуществить во всех папках. Вот тут и возникла проблема. Список разделов...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
niXman
Эксперт C++
3135 / 1447 / 49
Регистрация: 09.08.2009
Сообщений: 3,441
Записей в блоге: 2
29.09.2012, 01:17 #2
boost.filesystem
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.09.2012, 01:17
Привет! Вот еще темы с ответами:

Поиск файлов по диску - C++ Builder
Снова здрасте . void ListFiles(AnsiString path, TStrings* List, TStrings* List2, long int strn) { TSearchRec sr; if...

Программный поиск файлов - C++ Builder
Всем доброго времени суток и с Наступающим. Так я ищуvoid __fastcall TForm1::FindFile(String Dir){ TSearchRec SR; int FindRes; ...

Поиск файлов на локальном компьютере - C++ WinAPI
Доброго всем времени суток! Подскажите как на С++ получить список корневых директорий(С: , Е: и тд)?Есть какая-нибудь функция типа как...

Поиск определённого файла на локальном компьютере - VBA
Подскажите код макроса для БЫСТРОГО поиска определённого файла на локальном компьютере VBA EXCEL. Заранее спасибо!!!


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

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

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