@mmerkulov0

C++ как преобразовать string в bitset?

Как преобразовать std::string в std::bitset.
Например если есть строка "hello", то bitset будет содержать: 01101000 01100101 01101100 01101100 01101111
  • Вопрос задан
  • 622 просмотра
Пригласить эксперта
Ответы на вопрос 1
@none7
template <class _Elem = char, class _Traits = char_traits<_Elem>, class _Alloc = allocator<_Elem>>
std::string getstrbits(const std::basic_string<_Elem, _Traits, _Alloc>& s) {
    std::stringstream ret;
    const constexpr int digits = std::numeric_limits<_Elem>::digits + std::numeric_limits<_Elem>::is_signed;
    for (auto c : s) ret << std::bitset<digits>(c).to_string();
    return ret.str();
}
Пропускаешь строчку через функцию, а затем скармливаешь bitset. Только нужно понимать, что bitset это массив фиксированного размера, а string динамического.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы