以bool数组输入

时间:2015-04-14 19:53:04

标签: c++ arrays boolean

我想在bool数组中输入

bool bmp[32];

这将是项目互动。

 Enter binary number : 10101

我想将用户输入'10101'存储在bool数组中。

bmp[32]={1,0,1,0,1};

请帮助!!

3 个答案:

答案 0 :(得分:6)

由于这是C ++,我们使用std::bitset

std::cout << "Enter binary number : ";

std::bitset<32> b;
std::cin >> b;

这不是你要求的bool数组 - 但它更好。

答案 1 :(得分:2)

这应该可行,但下次自己尝试一下(并发布你尝试过的代码)。

bool b[ 32 ];
std::string str = "10101";
for ( std::string::size_type i = 0U; i < str.length(); ++i )
    b[ i ] = str[ i ] == '1';

或者

std::vector< bool > b;
std::string str = "10101";
b.reserve( str.length() );
for ( const char c : str )
    b.push_back( c );

答案 2 :(得分:1)

没什么好看的,只需读取数据并将其存储到数组中,如下所示:

#include <string>
#include <cstdio>

int main() {
    std::string str;
    std::cout << "Enter binary number : ";
    std::cin >> str;
    bool b[32];
    std::size_t size = 0;
    for (auto c : str) {
        b[size++] = c == '1';
    }

    // you are all set now.

    return 0;
}