Форум программистов, компьютерный форум CyberForum.ru

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

Восстановить пароль Регистрация
 
nexen
187 / 180 / 3
Регистрация: 27.01.2012
Сообщений: 1,335
28.12.2013, 11:51     Проверка папки на пустоту #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 Никогда раньше не задумывался, но оказывается я не знаю, зачем нужны эти папки ".." и ".". Может кто объяснить?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.12.2013, 11:51     Проверка папки на пустоту
Посмотрите здесь:

C++ проверка на пустоту строки
C++ Проверка файла на пустоту
Проверка массива на пустоту C++
Как проверить переменную на пустоту? C++
Проверка стека на пустоту C++
Получить название файлов с 1-ой папки , со 2-ой папки и вывести. Неправильный вывод C++
C++ Шаблонный класс матрицы. Проверка матрицы на пустоту
C++ Проверка на существование папки

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
palva
 Аватар для palva
2373 / 1595 / 190
Регистрация: 08.06.2007
Сообщений: 6,364
Записей в блоге: 4
28.12.2013, 12:22     Проверка папки на пустоту #2
Формально это родительская папка для данной (..) и сама данная папка (.).
На самом деле этих подпапок в данной папке нет.

Добавлено через 3 минуты
Зачем это нужно? для того чтобы можно было без особых хлопот расшифровывать пути типа d:..\ch2 или c:.
Yandex
Объявления
28.12.2013, 12:22     Проверка папки на пустоту
Ответ Создать тему
Опции темы

Текущее время: 03:20. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru