Converting from a std::string to bool

前端 未结 14 2650
走了就别回头了
走了就别回头了 2020-12-25 09:51

What is the best way to convert a std::string to bool? I am calling a function that returns either \"0\" or \"1\", and I need a clean solution for turning this into a boole

14条回答
  •  死守一世寂寞
    2020-12-25 10:25

    If you need "true" and "false" string support consider Boost...

    BOOST_TEST(convert( "true", cnv(std::boolalpha)).value_or(false) ==  true);
    BOOST_TEST(convert("false", cnv(std::boolalpha)).value_or( true) == false);
    
    BOOST_TEST(convert("1", cnv(std::noboolalpha)).value_or(false) ==  true);
    BOOST_TEST(convert("0", cnv(std::noboolalpha)).value_or( true) == false);
    

    https://www.boost.org/doc/libs/1_71_0/libs/convert/doc/html/boost_convert/converters_detail/stream_converter.html

提交回复
热议问题