我已转换uint64_t为unsigned char*使用以下内容:
uint64_t in;
unsigned char *out;
sprintf(out,"%" PRIu64, in);
Run Code Online (Sandbox Code Playgroud)
现在我想做相反的事情.任何的想法?
与您正在做的事情直接类似的sprintf(3)是使用sscanf(3):
unsigned char *in;
uint64_t out;
sscanf(in, "%" SCNu64, &out);
Run Code Online (Sandbox Code Playgroud)
但strtoull(3)在错误处理方面可能会更容易和更好:
out = strtoull(in, NULL, 0);
Run Code Online (Sandbox Code Playgroud)
(这个答案假设in真的指向某些东西,类似于如何out指向示例代码中的某些内容.)