Как получить список файлов в каталоге программно - PullRequest
0 голосов
/ 12 июня 2011

Я искал все, но не нашел исходных кодов, которые мне удалось найти в VS C ++ 2008,
У вас есть какой-нибудь способ найти список файлов в каталоге программно?

Я использую VS 2008 C ++в Windows.

Ответы [ 2 ]

6 голосов
/ 12 июня 2011

Это найдет список файлов на диске C:, он не использует dirent.h просто API для обработки простых файлов,
FindFirstFile & FindNextFile

#include <windows.h>

int main(int argc, char* argv[])
{
   WIN32_FIND_DATA search_data;

   memset(&search_data, 0, sizeof(WIN32_FIND_DATA));

   HANDLE handle = FindFirstFile("c:\\*", &search_data);

   while(handle != INVALID_HANDLE_VALUE)
   {
      cout<<"\n"<<search_data.cFileName;

      if(FindNextFile(handle, &search_data) == FALSE)
        break;
   }

   //Close the handle after use or memory/resource leak
   FindClose(handle);
   return 0;
}

Вы должны взглянуть на стандартные API на веб-сайте msdn.

4 голосов
/ 12 июня 2011

Если вы используете Boost, то вы можете использовать boost :: filesystem.

Если вы используете Qt, тогда вы можете использовать QDir.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...