Разрешите путь устройства Windows к букве диска

typedef typename Tail::inUnion dummy;

Однако я не уверен, что реализация inUnion верна. Если я правильно понимаю, этот класс не должен быть создан, поэтому вкладка «fail» никогда не будет автоматически терпеть неудачу. Возможно, было бы лучше указать, находится ли тип в объединении или нет с простым булевым значением.

template  struct Contains;

template 
struct Contains >
{
    enum { result = Contains::result };
};

template 
struct Contains >
{
    enum { result = true };
};

template 
struct Contains
{
    enum { result = false };
};

PS: Посмотрите на Boost :: Variant

PS2: посмотрите на typelists , особенно в книге Андрея Александреску: Modern C ++ Design

9
задан Ajay 29 December 2017 в 06:30
поделиться

2 ответа

Надо надеяться, следующая часть кода даст Вам достаточно для решения этого - после инициализации его просто необходимо выполнить итерации через набор для нахождения соответствия. Можно хотеть преобразовать все в верхний / нижний регистр перед вставкой в набор для помощи с выполнением поиска.

typedef basic_string<TCHAR> tstring;
typedef map<tstring, tstring> HardDiskCollection;

void Initialise( HardDiskCollection &_hardDiskCollection )
{
    TCHAR tszLinkName[MAX_PATH] = { 0 };
    TCHAR tszDevName[MAX_PATH] = { 0 };
    TCHAR tcDrive = 0;

    _tcscpy_s( tszLinkName, MAX_PATH, _T("a:") );
    for ( tcDrive = _T('a'); tcDrive < _T('z'); ++tcDrive )
    {
        tszLinkName[0] = tcDrive;
        if ( QueryDosDevice( tszLinkName, tszDevName, MAX_PATH ) )
        {
            _hardDiskCollection.insert( pair<tstring, tstring>( tszLinkName, tszDevName ) );
        }
    }
}
5
ответ дан 4 December 2019 в 23:08
поделиться

Возможно, Вы могли использовать GetVolumeNameForMountPoint и выполнить итерации через все точки монтирования A:\ через Z:\, повредившись при нахождении соответствия?

http://msdn.microsoft.com/en-us/library/aa364994 (По сравнению с 85) .aspx

(Я не попробовал это),

1
ответ дан 4 December 2019 в 23:08
поделиться
Другие вопросы по тегам:

Похожие вопросы: