我的问题是:如何打印“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;

什么是“四月二十二日”?

最佳答案

虽然我认为@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/

10-16 09:23