Boost: как преобразовать строку типа «true» или «1» в bool true и «0» или «false» в bool false? - PullRequest
3 голосов
/ 28 октября 2011

Является ли boost::lexical_cast<bool, std::string>( string ); единственной опцией или есть более быстрые способы сделать это, будет ли она работать на True строке, будет ли она работать на 1 строке, будет ли она работать на TRUE строке?

(потому что мне это дает bad lexical cast: source type value could not be interpreted as target ошибка)

1 Ответ

5 голосов
/ 28 октября 2011

Один быстрый способ сделать это - предварительно инициализировать map<string,bool> со всеми допустимыми строками вместе с их логическими эквивалентами. Тогда это просто вопрос find.

...