我搜索了高低,但在 C 的 printf 中似乎只有零填充和空白填充。我正在寻找自己的填充,在本例中使用星号。
例如,
假设宽度为 8 个字符。
输入:123
输出:**123.00
输入:3
输出:****3.00
我该怎么做?
最佳答案
最简单的方法可能是使用带空格填充的 snprintf()
打印到缓冲区,然后用星号替换空格:
void print_padded(double n)
{
char buffer[9];
char *p;
snprintf(buffer, sizeof buffer, "% 8.2f", n);
for (p = buffer; *p == ' '; p++)
*p = '*';
printf("%s", buffer);
}
关于c - 在 printf 中用星号填充?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7142914/