7

uint64_t私は以下を使用するように変換しましunsigned 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 に答える