c-是否可以将位集转换为整数字符数组?

我有bitset 8. v8,其值类似于“ 11001101”,二进制形式,如何将其转换为c中的字符或整数数组?

解决方法:

要转换为char数组,可以使用bitset :: to_string()函数获取字符串表示形式,然后从该字符串中复制单个字符:

#include <iostream>
#include <algorithm>
#include <string>
#include <bitset>
int main()
{
        std::bitset<8> v8 = 0xcd;

        std::string v8_str = v8.to_string();
        std::cout << "string form: " << v8_str << '\n';

        char a[9] = {0}; 
        std::copy(v8_str.begin(), v8_str.end(), a);
        // or even strcpy(a, v8_str.c_str());
        std::cout << "array form: " << a << '\n';
}
上一篇:关于容器主要函数的运用及这些算法运用


下一篇:详解STL中关于bitset的使用方式