我想從一個字符串獲得一個布爾值。字符串看起來像這樣: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