格式说明为“长长”
我宣布了64位计数器作为变量:格式说明为“长长”
long long call_count;
什么是我应该在打印语句中使用的格式说明?
我试过了,%l
,%ld
,%ll
。没有一个看起来是正确的。
我使用Diab C编译器编译我的应用程序代码以在pSOS操作系统上运行。
这是"%lli"
(或等价"%lld"
)
也许%LLD?我认为这是gcc的格式,对Diab C编译器一无所知。
Microsoft和Watcom使用%I64d
(首都眼),其他使用%lld
(小写字母)。
“使用%I64d(大写I)”:再试一次? – 2009-01-20 18:05:06
Microsoft长时间使用ll(ell ell); I64(眼睛)为__int64。 http://msdn.microsoft.com/en-us/library/tcxf1dw6.aspx – 2009-01-20 20:22:16
这是签署并%LLU%LLD无符号
这一个,甚至更多一点已经说明如下: cross-platform printing of 64-bit integers with printf
TL; DR: 您可以使用PRId64宏(从inttypes。 h)以半便携方式打印十进制的64位整数。还有其他宏(如PRIx64)。
long long t1; //signed
unsigned long long t2; //unsigned
printf("%lld",t1);
printf("%llu",t2);
%lld是长时间的标准转换说明符,Windows是我知道的不支持这种方法的唯一一个(但它们不支持很多标准)。此外,这是特定于正在使用的标准C库,而不是编译器。 – 2009-01-20 18:17:20