使用fprintf在两个字符串之间打印空格

时间:2014-03-13 17:07:39

标签: c++ printf

我想使用fprintf在同一行打印出两个字符串,它们之间有空格。该行必须最多为80个字符,因此我希望两个字符串之间的空格数为80减去两个字符串的长度。这就是我到目前为止所做的:

fprintf(pFile, "%s Statistics%80s\n", name.project, currentDateTime());

我得到了我的输出:

AnotherProject Statistics                                                             2014-03-13.11:50:10

这太长了。 currentDateTime()的字符串长度将始终返回20.是否可以在此方案中使用fprintf

1 个答案:

答案 0 :(得分:1)

计算所需的字段宽度,然后使用%*s

const int fw = 80 - strlen(name.project) - strlen(" Statistics") - strlen(currentDateTime());
fprintf(pFile, "%s Statistics%*s\n", name.project, fw, currentDateTime());