运用“%%-%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中定义了一个使用该方法的宏,可以方便地实现输出的参数化。