运用“%%-%ds"和"%%0%dd",实现输出格式参数化

下面这个问题,先使用sprintf保存格式化字符串,可以比较方便的实现字符串输出的参数化。

最近想实现一个功能:

printf("%-5s", str);

格式化输出左对齐 5个长度;
如果5作为变量  如何实现 格式化输出n个长度的字符串,求指点~

解答:

char format[32];
int width = 5;
sprintf(format, "%%-%ds", width);
printf(format, str);

 

同样的,先使用sprintf和“%%0%dd”,可以实现数字的格式化输出的参数化。

使用这个方法还是比较巧妙的。例如在vtid的JinPeng.h中定义了一个使用该方法的宏,可以方便地实现输出的参数化。

posted @ 2014-11-24 15:14  IT由零开始  阅读(2122)  评论(0编辑  收藏  举报