printf的问题

时间:2010-12-03 10:49:46

标签: c

...

uint64_t                 expires_time;
ngx_memcpy(data, in, in_len);
data_size = in_len + sizeof(expires_time);
expires_time = (uint64_t) now;
expires_time = ngx_http_encrypted_session_htonll(expires_time);
ngx_memcpy(data + in_len, (u_char *) &expires_time, sizeof(expires_time));
MD5(data, data_size, p);

static inline uint64_t

ngx_http_encrypted_session_htonll(uint64_t n) {
#ifdef htonll
return htonll(n);
# else
return ((uint64_t) htonl(n) > 32);
#endif
}

为什么我要尝试printf("%s",data)结果:in。ngx_memcpy应为此字符串添加expires_time?如何查看字符串长度为data_size的md5?

1 个答案:

答案 0 :(得分:4)

您正在尝试打印字符串。而您的数据不是空终止。只需循环data_size并将数据中的每个字节打印为十六进制值。