1

在下面的 obj-c 函数中,%qx 格式说明符是什么意思(我想这个问题也适用于 printf 和 co。)

+(NSString*)stringForHash:(uint64_t)hash
{
    return [NSString stringWithFormat:@"%qx", hash];
}

我的猜测是这意味着以十六进制打印 64 位,而不是%x仅打印 32 位。但是,我无法在任何地方找到一个很好的参考来证实这一点。代表什么qx除了格式说明符之外,它可以与其他任何东西一起使用吗?

4

3 回答 3

4

q是四边形,和 一样ll

PS:printf手册页说“不要使用”;-)

于 2011-11-24T10:57:22.707 回答
3

来自维基百科

它是 C99 之前的扩展含义

“q - 对于整数类型,导致 printf 需要一个 64 位(四字)整数参数。常见于 BSD 平台中”

于 2011-11-24T10:56:50.013 回答
0

您可以从此处获取格式说明

于 2011-11-24T11:03:47.483 回答