Строка LPWSTR, чтобы bool? - PullRequest
       5

Строка LPWSTR, чтобы bool?

0 голосов
/ 08 ноября 2019

У меня есть переменная типа LPWSTR, в которой содержится "true" или "false". Есть ли способ, которым я могу преобразовать это в переменную типа bool с true или false?

В идеале я хочу сделать что-то вроде этого:

FooClas::MyMethod()
{
    LPWSTR  variableOne;
    bool    variableTwo;
    MyMethodOne(&variableOne);

    // At this point, variableOne can be either "true" or "false".
    // Do something to check if "true", then variableTwo = true, otherwise variableTwo = false.
}

Ответы [ 2 ]

3 голосов
/ 08 ноября 2019

Учитывая предварительное условие, что variableOne указывает либо на "true", либо на "false", наиболее эффективный способ превратить это в логическое значение:

bool const variableTwo { *variableOne == L't' };

Достаточно проверитьединственное различающее свойство, как первый символ. Любой другой символ или даже длина строки будет одинаково достаточной.

3 голосов
/ 08 ноября 2019

std::wistringstream может помочь:

std::wistringstream(variableOne) >> std::boolalpha >> variableTwo;

Заголовочный файл:

#include <sstream>
#include <string>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...