На нашем сайте мы используем cookie для сбора информации технического характера и обрабатываем IP-адрес вашего местоположения. Продолжая использовать этот сайт, вы даете согласие на использование файлов cookies. Здесь вы можете узнать, как мы пользуемся файлами cookies.
Я согласен
логотип upread.ru

Вывод списка файлов и каталогов на 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 строку - в ней устанавливается возможность проверки имен файлов и каталогов для всех локалей. Если этой строки не будет, то программа, дойдя до, например, русского символа, просто прекратит свою работу.




тегизаметки, си плюс плюс, WinApi, файлы





Отправляя сообщение я подтверждаю, что ознакомлен и согласен с политикой конфиденциальности данного сайта.




Матрица Тёплица на Java
Кодирование и декодирование base64 на Java 8


© upread.ru 2013-2019
При перепечатке активная ссылка на сайт обязательна.
Задать вопрос
письмо
Здравствуйте! Вы можете задать мне любой вопрос. Если не получается отправить сообщение через эту форму, то пишите на почу up777up@yandex.ru
Отправляя сообщение я подтверждаю, что ознакомлен и согласен с политикой конфиденциальности данного сайта.