我想从一个字符串获得一个布尔值。字符串看起来像这样:sscanf是否支持布尔类型?
char *s = "value=TRUE";
值可能是TRUE
,FALSE
,true
或false
我米不知道是否有一个格式说明直接获得字符串中的布尔值?我不需要传递一个字符串,然后推导出布尔值。
我正在寻找类似的东西
bool x;
sscanf(s,"value=%b",&x);
的问题。是否有可能直接使用sscanf和格式说明符来获取bool值?
如果没有,是否有快速的方法呢?
编辑:
基于没有直接的格式说明的响应。
这里一个快速方法后得到的布尔值directelly
char b[8];
if (sscanf(s,"value=%[TtRrUuEe]",b))
return TRUE;
else
return FALSE;
我知道,上面的方法是有限的。如何改善它?
注意:默认值是假的情况下,值字符串包含垃圾
我想借此机会指出'bool'不是typedef。 – Alex