#c #packet #ace
#c #пакет #туз
Вопрос:
по причинам отладки я хочу показывать свои исходящие пакеты в консоли. Кстати, пакеты поступают на сервер корректно. Но если я хочу, чтобы они отображались в консоли перед отправкой, тогда она просто ничего не показывает:
ACE_Message_Block *m_Header;
...
size_t send_len = m_Header->length(); // Size of the Message Block
char* output = m_Header->rd_ptr();
printf("Output: %s", output); // Trying to show it in Console
// Send it
server.send(m_Header->rd_ptr(), send_len);
У кого-нибудь есть идея?
Ответ №1:
Скорее всего, отправляемые вами данные содержат 0, и вам также нужно будет добавить новую строку.
for (size_t i = 0; i < send_len; i) {
if (output[i]<32) {
printf("\xhhx", (unsigned char) output[i]);
} else {
printf("%c", output[i]);
}
}
printf("n");
Комментарии:
1. Ах, спасибо, теперь он показывает мне: x00 x06 x09 x00 x00 x00 x00 x1c Возможно ли отобразить в виде десятичной дроби?
2. @Sapd: Измените первый printf на, например
printf("<%hhi>", output[i]);