出于调试原因,我想在Console中显示我的传出数据包。 数据包正确到达服务器btw。 但如果我希望它们在发送之前在控制台中显示,那么它只显示任何内容:
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);
有人有想法吗?
答案 0 :(得分:0)
您发送的数据可能包含0 - 并且您还需要附加换行符。
for (size_t i = 0; i < send_len; ++i) {
if (output[i]<32) {
printf("\\x%02hhx", (unsigned char) output[i]);
} else {
printf("%c", output[i]);
}
}
printf("\n");