C语言格式化输出

31 篇文章 2 订阅

C语言格式化输出

格式化说明符的一般语法

% []

libc 和 vscrt 的整数说明符

printf函数,输出整数,
ll i,d,o,u,x 输出一字节宽度的数据;但是win32/win64不支持,在win32/win64上,支持的最短整型是short
z i,d,o,u,x 输出 size_t 类型的整数(C99),但win32/win64不支持,在win32/win64上,用 %Iu
j i,d,o,u,x 输出 intmax_t, uintmax_t(C99),但win32/win64上,只能自行判定intmax_t的位数,选择用 I32, I64 代替 j
t i,d,o,u,x 输出指针相减得到的整数(C99),但win32/win64上,只能用 %Id,%Ii
C99之前,size_t一般用 %u, 有些用 %lu。

C规定long 至少32位,long long 至少64位(如果支持long long类型)。
vc 家族,vc6.0是不支持c99新版说明符的。
gcc MinGW 的gcc 使用的是 crt6.0版本,所以 j,ll 都不能使用;但是,MinGW重新实现了printf,添加__USE_MINGW_ANSI_STDIO宏定义即可支持C99新增的说明符。

gcc -D__USE_MINGW_ANSI_STDIO=1 test.c -o test

参考

glibc 文档 https://www.gnu.org/software/libc/manual/html_node/Formatted-Output.html#Formatted-Output

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值