Ker*_* SB 9 c c++ printf posix
的printf和scanf的函数用C家庭消耗对应于所述基本数据类型原始格式说明了一把- %d对int,%llu对unsigned long long int等
但是,有许多标准类型的别名,人们希望在实践中使用,例如int32fast_t,一个人不能也不应该知道底层的基本类型.对于别名stdint.h,C标准谢天谢地指定了一组宏来生成相应的格式字符串,例如PRI32in inttypes.h.
Posix有一组类似的宏吗?POSIX拥有吨不透明的类型,如ssize_t,pid_t,rlim_t,suseconds_t,等等,这些都对基本intgral类型的所有变化.如何在格式字符串中可移植地使用这些类型?
Posix 保证 sys/types.h 值是“适当长度的算术类型”,其他一些值进一步指定为无符号或有符号“扩展长度”。输出这些内容的唯一标准可接受的方法是通过以最大的适当语言类型 (u)intmax_t 进行转换来传输它,然后输出它。
输入它们会更危险(即不可能以符合标准的方式),因为很难保证到基本类型的转换不会溢出某些内容。