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

Проверка папки на пустоту - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Обращение к методам базового класса (есть ли подобие base/super?) http://www.cyberforum.ru/cpp-beginners/thread1059284.html
Понятное дело, что можно обращаться к методам базового класса так: BaseClass::hisMethod(); Однако это зависимость от названия класса. Не очень это как-то. В C# есть слово base, в Java super. Есть ли...
C++ scanf проверка вводимого типа как узнать, что пользователь ввёл не число а строку, если от него требовалось первое и запрос проходил через функцию scanf? http://www.cyberforum.ru/cpp-beginners/thread1059268.html
C++ Горит зачет! Определить сумму чисел с чётными номерами и произведение чисел с нечетными номерами
Определить сумму чисел с чётными номерами и произведение чисел с нечетными номерами. Подсчитать количество слагаемых и количество сомножителей. При вводе числа 77566 закончить работу. Нужно...
C++ Как вызвать функцию через указатель?
Добрый день. Всех с наступающим))Здоровье Счастье и бабок))) Подскажите как правильно сделать Тестовый рабочий пример struct AmiVar { ....... double rez; }; AmiVar Квадрат(int i,...
C++ длина замкнутой ломанной линии http://www.cyberforum.ru/cpp-beginners/thread1059215.html
помогите с задачей, вопрос жизни и смерти,безумно нужно определить длину замкнутой ломанной в N мерном пространстве. в программе вводятся размерность пространства и количество точек(по этим...
C++ Считать символы из файла и записать из в другой файл Вот смотрите задача: Дан текстовый файл с символами "абвгд", используя fread, fwrite, вывести в другом файле "аzвгд".Вроде написал код, а с ним что-то не то((Помогите....Во время отладки просто... подробнее

Показать сообщение отдельно
nexen
187 / 180 / 3
Регистрация: 27.01.2012
Сообщений: 1,335

Проверка папки на пустоту - C++

28.12.2013, 11:51. Просмотров 351. Ответов 1
Метки (Все метки)

Так как времени не было на это задание, пришлось сделать так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
BOOL IsEmpty(const wchar_t* sPath)
{
    HANDLE hFind;  //дескриптор файла для "пробега"
    WIN32_FIND_DATAW FindFileData; //структура для описания найденного файла
    wchar_t DirPath[MAX_PATH];
    wcscpy(DirPath, sPath);
    wcscat(DirPath, L"\\*");    //ищем все файлы
    hFind = FindFirstFileW(DirPath, &FindFileData); //находим первый файл 
    FindNextFileW(hFind,&FindFileData); //второй файл (тоже системный)
    if (NULL == FindNextFileW(hFind,&FindFileData))//и наконец третий
    {
        if(GetLastError() == ERROR_NO_MORE_FILES) //все, файлы кончились
        {
            FindClose(hFind);
            return TRUE;
        }
    }
    FindClose(hFind);
    return FALSE;
}
Пропускаю две системные папки ".." и ".", а затем уже смотрю, есть ли что-то ещё.
Как это можно было сделать проще?

p.s Никогда раньше не задумывался, но оказывается я не знаю, зачем нужны эти папки ".." и ".". Может кто объяснить?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.