我已使用以下内容将uint64_t
转换为unsigned char*
:
uint64_t in;
unsigned char *out;
sprintf(out,"%" PRIu64, in);
现在我想做相反的事情。有什么想法吗?
答案 0 :(得分:9)
与您使用sprintf(3)
所做的直接类比将是使用sscanf(3)
:
unsigned char *in;
uint64_t out;
sscanf(in, "%" SCNu64, &out);
但错误处理可能strtoull(3)
会更容易和更好:
out = strtoull(in, NULL, 0);
(这个答案假定in
确实指向了某些内容,类似于out
必须指向示例代码中的某些内容。)