7

我已转换uint64_tunsigned char*使用以下内容:

uint64_t in;
unsigned char *out;
sprintf(out,"%" PRIu64, in);

现在我想做相反的事情。任何想法?

4

1 回答 1

10

与您正在做的事情的直接类似物是sprintf(3)使用sscanf(3)

unsigned char *in;
uint64_t out;
sscanf(in, "%" SCNu64, &out);

strtoull(3)在错误处理方面可能会更容易更好:

out = strtoull(in, NULL, 0);

(这个答案假设in确实指向某些东西,类似于如何out在您的示例代码中指向某些东西。)

于 2013-09-10T00:24:24.340 回答