我的问题是:如何打印“pMessage”、“aiLength”、“szDataSize”?
EventInfo* pEventInfo
typedef struct {
char* pMessage;
SocketHeader* pSocketHeader;
PipeHeader* pPipeHeader;
} EventInfo;
typedef struct {
apr_uint32_t aiLength;
} PipeHeader;
typedef struct {
apr_uint32_t szDataSize;
} SocketHeader;
什么是“apr_uint32_t”?
最佳答案
虽然我认为@pilcrow 的回答 - 在 <inttypes.h>
中使用 C99 格式字符串转换说明符- 可能是最优雅的 unsigned long
类型保证至少 32 位,因此您可以简单地使用 %lu
带强制转换的说明符:
printf("%lu\n", (unsigned long) value);
不需要 C99。这在今天不是什么大问题,但 IIRC、APR 也不假定 C99 编译器,否则他们不会费心推出自己的“精确”类型。
关于c - 如何打印 "apr_uint32_t"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16953900/