我正在使用带有windows的code :: blocks来编程。最近,我遇到了一些问题,试图找出存储在浮点数,long long等地址中的地址和值。我发现我需要使用“I64d”而不是“lld”。是否有一个我必须使用的格式说明符列表而不是“普通”格式说明符(例如“d”,“ld”,“lld”等)?感谢。
答案 0 :(得分:0)
所有格式说明符都显示在标准中。当前的C11标准显示7.20.6.1 The fprintf function
中的“正常”。
但是,uint16_t
中还定义了“额外”整数类型(例如stdint.h
)。用作这些类型的格式说明符的相应fprintf
宏包含在inttypes.h
中,并在标准7.8.1 Macros for format specifiers
中详细说明。
一个例子是:
int16_t val = 42;
printf ("val = %2" PRId16 "\n", val);
请注意,fscanf
方也有等价物,其中宏以SCN
而不是PRI
开头。