Что за шляпа с GetFileAttributes?
От: пффф  
Дата: 10.05.24 16:22
Оценка:
Привет!

Есть каталог, я в него хожу туда-сюда, хоть в фаре, хоть в проводнике.

Но

template<> inline bool isPathDirectory<std::string>( const std::string &path )
{
    DWORD attrs = ::GetFileAttributesA(path.c_str());
    if (attrs==INVALID_FILE_ATTRIBUTES)
    {
        return false;
    }

    if (attrs & FILE_ATTRIBUTE_DIRECTORY)
    {
        return true;
    }

    return false;
}


с какого-то перепугу возвращает фолс.

В отладчике посмотрел, GetFileAttributesA возвращает 0x2020:
#define FILE_ATTRIBUTE_ARCHIVE              0x00000020  
#define FILE_ATTRIBUTE_NOT_CONTENT_INDEXED  0x00002000


а для каталогов вроде должно стоять это:
#define FILE_ATTRIBUTE_DIRECTORY            0x00000010


В фаре смотрю атрибуты — установлен только "неиндексируемый". Атрибут "архивный" — не установлен.

Смотрю свойства в проводнике — а он мне говорит, что это папка с файлами, и что у неё стоит атрибут "только для чтения"

Я где-то протупил, похоже, но где?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.