怎么使用C语言格式化输出控制长度

本篇内容介绍了“怎么使用C语言格式化输出控制长度”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

创新互联专注于企业网络营销推广、网站重做改版、上思网站定制设计、自适应品牌网站建设、成都h5网站建设商城网站定制开发、集团公司官网建设、成都外贸网站建设、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为上思等各大城市提供网站开发制作服务。

c语言格式化输出控制长度

今天在实现ls命令的时候,输出的文件名是上下对齐:

1  2  a.c  b  crawler text 公共的 视频 文档 音乐
1.c 2.c a.out b.c git   win  模板  图片 下载 桌面

便想着实现对齐,想到了c的格式化输出:

printf("%-10s",s);

这样便实现了将字符串s占10格居左输出.

但却由一个难以解决的问题,上述的 10 不能提前预支,是程序运行时计算出来的,便想着能否这样输出:

int a=5;
char s[]="hell";
printf("%-%ds",a,s);

实际证明这样时不行的,必须想别的解决办法.

然后观察printf的格式,printf的格式控制是在”“之中的,是否意味着可以用字符串代替”“,然后尝试:

char a[]="%05s";
char s[]="hello";
printf(a,s);

成功输出:

   hello

看来这样可行,便编写了代码:

 int n=13;
  char na[3];
  if(n > 9) {
    na[0] = (n/10) + 48;
    na[1] = (n%10) + 48;
    na[2] = '\0';
  }
  else {
    na[0] = n + 48;
    na[1] = '\0';
  }
  char a[10]="%-";
  strcat(a,na);
  char s[]="s ";
  strcat(a,s);
  char b[]="hellow";
  puts(a);
  printf(a,b);

n为ls输出的文件名的最大长度(目测应该不会大于99).

“怎么使用C语言格式化输出控制长度”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注创新互联网站,小编将为大家输出更多高质量的实用文章!


本文名称:怎么使用C语言格式化输出控制长度
网页URL:http://azwzsj.com/article/pcigeo.html