格式化输出,不足位补位


例如:

sprintf(szNow,"%d-%02d-%02d %02d:%02d:%02d",stNow.wYear,stNow.wMonth,stNow.wDay,stNow.wHour,stNow.wMinute,stNow.wSecond);

不够位的会以0补充。

printf格式输出:%[flags][width][.perc][F|N|h|l]type

用到了flags中的 0 (注意是零不是欧) ,其百科描述为:将输出的前面补上0,直到占满指定列宽为止(不可以搭配使用-)

width 即表示需要输出的位数。

  1. int a = 4;
  2. printf("%03d",a);

输出:004

也可以用 * 代替位数,在后面的参数列表中用变量控制输出位数;

  1. int a = 4;
  2. int n = 3;
  3. printf("%0*d",n,a);
输出:004

你可能感兴趣的:(C/C++)