【发布时间】:2015-06-20 14:05:30
【问题描述】:
我想在布尔数组中输入
bool bmp[32];
这将是程序交互。
Enter binary number : 10101
我想将用户输入的“10101”存储在类似 bool 的数组中。
bmp[32]={1,0,1,0,1};
请帮忙!!
【问题讨论】:
我想在布尔数组中输入
bool bmp[32];
这将是程序交互。
Enter binary number : 10101
我想将用户输入的“10101”存储在类似 bool 的数组中。
bmp[32]={1,0,1,0,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;
}
【讨论】:
既然是 C++,我们就用std::bitset:
std::cout << "Enter binary number : ";
std::bitset<32> b;
std::cin >> b;
这不是您要求的 bool 数组 - 但它要好得多。
【讨论】:
int 作为这种情况下的二进制掩码。
这应该可以,但下次您自己尝试一下(并发布您尝试过的代码)。
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 );
【讨论】: