Как передавать байты из std :: ostream в std :: vector <uint8_t>? - PullRequest
0 голосов
/ 30 мая 2019

Я ищу способ для потоковой передачи данных, аналогичный std::ostringstream, но для вектора байтов вместо std::string.Нули допускаются в байтах.

Какой самый элегантный способ сделать это в STL?

1 Ответ

0 голосов
/ 15 июня 2019
    std::vector<uint8_t> vec = { 1, 2, 3, 4 };
    std::copy(vec.cbegin(), vec.cend(), std::ostream_iterator<uint8_t>(std::cout, " "));

Будьте осторожны: поток, вероятно, будет интерпретировать значения как символы, и поэтому будет использовать перегрузку символов оператора потока. Если вы хотите напечатать целочисленные значения, шаблонизируйте std::ostream_iterator с другим типом int.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...