我正在尝试创建一个布尔函数,如果字符串只包含1&0; s,0&s;和空格,则返回false。否则它返回true到函数调用嵌套的while循环。这是我到目前为止的代码:
bool check_bin_num(string& bin) {
for (int i = 0; i <= back.length(); i++) {
if (!(bin[i] == '0' || bin[i] == '1' || bin[i] == ' ')) {
return true;
}
}
return false;
}
任何帮助将不胜感激!
答案 0 :(得分:6)
可以使用std::string::find_first_not_of
:
s.find_first_not_of("01 ") == std::string::npos
当且仅当true
std::string
完全由字符s
,'0'
和'1'
(空格)组成时,才会评估为' '
)。