我想从字符串中获取一个布尔值。字符串看起来像这样:
char *s = "value=TRUE";
该值可以是TRUE
, FALSE
,true
或false
我想知道是否有格式说明符可以直接从字符串中获取布尔值?我不需要传递一个字符串然后推断出布尔值。
我正在寻找类似的东西
bool x;
sscanf(s,"value=%b",&x);
问题是。是否可以使用 sscanf 和格式说明符直接获取布尔值?
如果没有,是否有快速的方法?
编辑:
根据响应,没有直接的格式说明符。
这是一种直接获取布尔值的快速方法
char b[8];
if ( sscanf(s,"value=%[TtRrUuEe]",b))
return TRUE;
else
return FALSE;
我知道上述方法是有限的。怎么改善?
注意:如果值字符串包含垃圾,则默认值为 False