c的sprintf格式问题

我用sprintf输出若干行,例如:abc--defa--babcdefghi--abc格式为:字符串1--字符串2现在我想让这种对齐,显示为:abc--defa--ba... 我用sprintf输出若干行,例如:
abc -- def
a -- b
abcdefghi -- abc

格式为:
字符串1 -- 字符串2
现在我想让这种对齐,显示为:
abc -- def
a -- b
abcdefghi -- abc
我的思路是:找出第一个字符串最长的长度,然后其它行均按照这个长度来限定字符串1的打印长度,但有个问题,如果我得到了最长的字符串1的长度,如何来作为限定长度的值呢?
sprintf(“%3d”,"abc");
中%3d表示打印三个字符,那我得到的长度肯定是赋到一个变量里,变量又如何赋到%3d里呢?请指点!谢谢!
展开
 我来答
曹糯糯
推荐于2016-05-19 · TA获得超过183个赞
知道小有建树答主
回答量:365
采纳率:0%
帮助的人:0
展开全部
char printformat[10];

sprintf(printformat, "\%%ds", strlen(longstString)); // printformat = "%9s" 如果longstString的长度为9

printf(printformat, string);

这样写不就好了么
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式