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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ C++ и XML http://www.cyberforum.ru/cpp/thread660008.html
Как с программы на С++ корректно записать данные в XML-файл? а конкретнее - результаты поиска всех файлов локального компа - например вектор структур : struct DFile { unsigned int ind;...
C++ 3-ех мерный квадрат Если ли трехмерные готовые варианты трехмерных квадратов, чтобы его можно было вращать и рассматривать его, но без сторонних библиотек. Может есть готовые варианты или же может дайте ссылки на... http://www.cyberforum.ru/cpp/thread659680.html
C++ Небольшое пояснение
Здравствуйте,хотел бы поинтересоваться.Вот я,планирую начать изучать с++,хотелось бы иметь примерное представление о том что такое программисты с++,что собственно в теперешние время пишется на...
C++ Необработанное исключение в "0x77913ab3" в "x": 0xC0000005: Нарушение прав доступа при чтении "0xdddddddd"
вот код, нужно найти 3 минимальных положительных числа в массиве. При размере массива больше 950 в конце заполнения рандомным способом вылитает ошибка, При размере массива больше 15-20 во время...
C++ латинизатор кириллицы http://www.cyberforum.ru/cpp/thread658113.html
При интернет общении с русской диаспорой в других странах часто возникают проблемы отсутствия кириллицы у зарубежных респондентов,а так же слабой знание иностранных языков у соотечественников.Один из...
C++ Перестал работать компилятор C++ Доброго времени суток форумчане! Проблема в следующем: Пишу консольный C++ gcc.exe -v 2.95.2 под Windows XP. Целый день работал нормально и неожиданно перестали компилироваться программы, редактор... подробнее

Показать сообщение отдельно
NaV'i4ok
3 / 3 / 0
Регистрация: 18.03.2011
Сообщений: 85

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

29.09.2012, 00:27. Просмотров 885. Ответов 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
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru