64位十六进制的便携式printf格式说明符?

thm*_*ler 5 c printf

我可以使用什么printf格式说明符在32/64位和Windows/POSIX上以十六进制表示法打印64位无符号整数?我见过的最接近%llX但是我不确定它是否足够便携.忽略较旧的编译器(例如Visual Studio 2010)的答案是可以接受的.

Bre*_*ale 6

PRIx64<inttypes.h>是你在找什么.

它是一个字符串标记,因此您可以将其用作: fprintf(stdout, "answer = %"PRIx64"\n", val);

既然你指定了%llX,你可能想要大写; 使用:PRIX64