我想使用fprintf
在同一行打印出两个字符串,它们之间有空格。该行必须最多为80个字符,因此我希望两个字符串之间的空格数为80减去两个字符串的长度。这就是我到目前为止所做的:
fprintf(pFile, "%s Statistics%80s\n", name.project, currentDateTime());
我得到了我的输出:
AnotherProject Statistics 2014-03-13.11:50:10
这太长了。 currentDateTime()
的字符串长度将始终返回20.是否可以在此方案中使用fprintf
?
答案 0 :(得分:1)
计算所需的字段宽度,然后使用%*s
:
const int fw = 80 - strlen(name.project) - strlen(" Statistics") - strlen(currentDateTime());
fprintf(pFile, "%s Statistics%*s\n", name.project, fw, currentDateTime());