%qx格式说明符的含义是什么

时间:2011-11-24 10:51:36

标签: objective-c c hex format-specifiers

在下面的obj-c函数中,%qx格式说明符的含义是什么(我会对问题进行成像也适用于printf和co。)

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

我的猜测是,这意味着以十六进制打印64位,而%x只打印32位。然而,我无法在任何地方找到确认这一点的好参考。 q代表什么?是否可以在格式说明符中与x之外的任何其他内容一起使用?

3 个答案:

答案 0 :(得分:4)

q是四元组,与ll相同。

P.S。:printf联机帮助页说“请勿使用”; - )

答案 1 :(得分:3)

来自Wikipedia

这是C99之前的扩展意义

  

“q - 对于整数类型,导致printf期望64位(四字)整数参数。通常在BSD平台中找到”

答案 2 :(得分:0)

您可以从here

获取格式标记