c++从string类型转换为bool类型
参考:https://blog.csdn.net/weixin_30387339/article/details/97729865
注意:当字符串s为“1”时,转换时去掉std::boolalpha。
#include <iostream>
#include <sstream>
void print(bool parameter)
{
if (parameter) {
std::cout << "parameter is true" << std::endl;
}
else {
std::cout << "parameter is false" << std::endl;
}
}
int main ()
{
bool b = false;
print(b);
std::string s = "true";
std::istringstream(s) >> std::boolalpha >> b;
print(b);
std::string t = "1";
std::istringstream(t) >> b;
print(b);
return 0;
}
使用std::boolalpha格式化输出:
#include <iostream>
#include <sstream>
int main ()
{
bool b = false;
std::cout << std::boolalpha << b << std::endl;
std::string s = "true";
std::istringstream(s) >> std::boolalpha >> b;
std::cout << std::boolalpha << b << std::endl;
std::string t = "1";
std::istringstream(t) >> b;
std::cout << std::boolalpha << b << std::endl;
return 0;
}