Как я новичок в rabbitmq- c. Я пытался получить строковое сообщение от amqp_basic_get (). Так как я получаю буфер в байтах. Как я могу получить строку из этого .?
do {
rpc_r = amqp_basic_get(conn, 1, amqp_cstring_bytes("queuename"),/* no_ack*/ 1);
} while (rpc_r.reply_type == AMQP_RESPONSE_NORMAL &&
rpc_r.reply.id == AMQP_BASIC_GET_EMPTY_METHOD &&
amqp_time_has_past(deadline) == AMQP_STATUS_OK);
assert(rpc_r.reply_type == AMQP_RESPONSE_NORMAL);
assert(rpc_r.reply.id == AMQP_BASIC_GET_OK_METHOD);
amqp_message_t message;
rpc_r = amqp_read_message(conn, 1, &message, 0);
assert(rpc_r.reply_type == AMQP_RESPONSE_NORMAL);
amqp_bytes_t message_request = amqp_bytes_malloc(message.body.len);
assert(message_request.bytes != NULL);
memcpy(message_request.bytes, message.body.bytes, message.body.len);
char *str = malloc((message.body.len)+1);
memcpy(str,message.body.bytes,message.body.len);
printf("%s\n",message.body.bytes);
, и даже я попробовал ниже код и возвращает (ноль) .
snprintf(str,message.body.len,(char *)message.body.bytes,message.body.len);
printf("%s\n",str);
Как на самом деле я могу получить содержимое тела сообщения от amqp_basic_get?