Ein solches Beispiel kann hier gefunden werden. < /p>
Für die Bequemlichkeit ist hier eine Kopie einiger nahezu identischer Code. < /p>
Code: Select all
const size_t recv_buffer_length = 128;
std::vector recv_buffer;
recv_buffer.reserve(recv_buffer_length);
const auto byte_count = recv(peer_fd, recv_buffer.data(), recv_buffer_length, 0);
recv_buffer.resize(byte_count);
// does not print anything. `.size() > 0`, but each element is `\0`
for(const auto i: std::views::iota(0, byte_count))
{
std::print("{}", recv_buffer[i]);
}
Gibt es eine Lösung dafür? Vorzugsweise eine, die vermeidet, einen Zeiger und eine Längenvariable zu verfolgen.