1

我正在使用带有 windows 的 code::blocks 在 c 中编程。最近,我在试图找出存储在浮点数、长整数等地址中的地址和值时遇到了一些问题。我发现我需要使用“I64d”而不是“lld”。是否有我必须使用的格式说明符列表来代替“正常”的格式说明符(例如“d”、“ld”、“lld”等)?谢谢。

4

1 回答 1

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.

于 2014-01-29T08:31:34.230 回答