代码之家  ›  专栏  ›  技术社区  ›  Ay.

将字符向量转换为单个字符串[重复]

  •  -2
  • Ay.  · 技术社区  · 6 年前

    请让我知道,如果这个问题已经得到了回答,所以我会删除它。


    我有一个表示位字符串(或bloom过滤器)的字符向量:

    std::vector<unsigned char> bit_table_;
    

    问题

    编辑:通常,bloom过滤器是位字符串:例如10010101011000。在里面 here 它表示为上述向量。我想把它转换成一个位字符串。

    1 回复  |  直到 6 年前
        1
  •  3
  •   Derek T. Jones    6 年前

    位元串的最佳C++库是奇怪的名字。 bitset

    std::bitset<1024> bs;
    for (int i = 0; i < bit_table_.size(); ++i) {
        bs[i] = bit_table_[i];
    }
    

    一个方便的功能

    std::cout << bs << std::endl;
    

    注意

    unsigned long unsigned long long

    unsigned long bits = bs.to_ulong();
    unsigned long long bits = bs.to_ullong();