メモリアドレスを取得して、変数に格納されている特定の量だけ進める方法はありますか? そして、その変数の型は何である必要がありますか?
たとえば、次のコードでは、最初に data + 0 を確認し、その後の各ステップで data + sent を確認します。これを正しく見れば、sent はバイトとして格納され、data はメモリ アドレスです。
bool sendAll(int socket, const void *data, ssize_t size) {
ssize_t sent = 0;
ssize_t just_sent;
while (sent < size) {
just_sent = send(socket, data + sent, size - sent, 0);
if (just_sent < 0) {
return false;
}
sent += just_sent;
}
return true;
}