Вывод списка файлов и каталогов на C++ средствами WinApi
Небольшая программа, с помощью которой можно получить названия всех файлов и папок в выбранной директории. При этом используются средства WinApi. Компиляция и запуск производились в среде Microsoft Visual Studio 2010. Данная программка также будет частью следующей релизной программы, которая уже может быть использована непосредственно для работы.
#include <fstream> #include <iostream> #include <windows.h> #include <string.h> using namespace std; int main() { WIN32_FIND_DATAW wfd; HANDLE const hFind = FindFirstFileW(L"C:\\Users\\*", &wfd); setlocale(LC_ALL, ""); if (INVALID_HANDLE_VALUE != hFind) { do { std::wcout < < &wfd.cFileName[0] < < std::endl; } while (NULL != FindNextFileW(hFind, &wfd)); FindClose(hFind); } system("pause"); return 0; }Разбирать построчно программу нет смысла: сначала объявление, затем адрес и в цикле проверяется наличие файлов и папок в выбранном каталоге. Единственное, на что стоит обратить внимание, так это на 13 строку - в ней устанавливается возможность проверки имен файлов и каталогов для всех локалей. Если этой строки не будет, то программа, дойдя до, например, русского символа, просто прекратит свою работу.
Автор этого материала - я - Пахолков Юрий. Я оказываю услуги по написанию программ на языках Java, C++, C# (а также консультирую по ним) и созданию сайтов. Работаю с сайтами на CMS OpenCart, WordPress, ModX и самописными. Кроме этого, работаю напрямую с JavaScript, PHP, CSS, HTML - то есть могу доработать ваш сайт или помочь с веб-программированием. Пишите сюда.
Читайте также:
Отправляя сообщение я подтверждаю, что ознакомлен и согласен с политикой конфиденциальности данного сайта.