C++ 检查字符串中的所有字符是否为1、0或“0”&引用;

C++ 检查字符串中的所有字符是否为1、0或“0”&引用;,c++,C++,我试图创建一个布尔函数,如果字符串仅由1、0和空格组成,该函数将返回false。否则,函数调用嵌套在while循环中时,它将返回true。这是我目前掌握的代码: bool check_bin_num(string& bin) { for (int i = 0; i <= back.length(); i++) { if (!(bin[i] == '0' || bin[i] == '1' || bin[i] == ' ')) {

我试图创建一个布尔函数,如果字符串仅由1、0和空格组成,该函数将返回false。否则,函数调用嵌套在while循环中时,它将返回true。这是我目前掌握的代码:

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;
}
bool check\u bin\u num(字符串和bin){

对于(int i=0;i,可使用以下公式将其写入一行:


当且仅当
std::string
s
完全由字符
'0'
'1'
'
(空格)组成时,将计算为
true
.

for括号中的1当然需要是一个iAnd
i您也可以使用
std::string的
find_first_方法
如果您使用
std::all_of
编写它,那么它将适用于任何序列,而不仅仅是字符串。
s.find_first_not_of("01 ") == std::string::npos