Преобразование из std :: string в bool - PullRequest
45 голосов
/ 30 января 2010

Каков наилучший способ преобразования std :: string в bool? Я вызываю функцию, которая возвращает «0» или «1», и мне нужно чистое решение, чтобы превратить это в логическое значение.

Ответы [ 13 ]

0 голосов
/ 30 января 2010

Вот способ, аналогичный Кайлу, за исключением того, что он обрабатывает ведущие нули и прочее:

bool to_bool(std::string const& s) {
     return atoi(s.c_str());
}
0 голосов
/ 30 января 2010
bool to_bool(std::string const &string) { 
    return string[0] == '1';
}
0 голосов
/ 30 января 2010

Попробуйте это:

bool value;

if(string == "1")
    value = true;
else if(string == "0")
    value = false;
...