在printf中,用字符大小填充内容

On printf, fill content with char size

本文关键字:填充 字符 printf      更新时间:2023-10-16

假设我有以下变量:

char[20]名称;

,我们假设它的内容是这样的:

拷贝字符串(名称、"测试");

如何打印所有20个字符(在后打印空格)?

当我打印一个浮点数时,默认情况下它会在点后面填充一些零。

1.3000)。

我可以对字符串做类似的事情吗?

我已经尝试使用%.*s并将其大小传递为第一个参数,但它没有工作。

谢谢。

对于 c++ ,看起来std::left和std::setw的组合可以满足您的要求。我在示例中添加了std::setfill来显示填充的字符:

std::cout << std::setw(20) <<  std::left << std::setfill('*') << name  <<  std::endl ;

对于C使用printf,正如Matt指出的那样,下面将工作:

printf("%-20sn", name) ;