首页 > 解决方案 > C++ 中的 %-s 格式化

问题描述

有人能解释一下 %-25s 和 %-90s 在下面的代码中做了什么吗:

#include <iostream>
#include <stdio.h>
using namespace std;
int main() {
    printf ("%-25s %-90s","hello" ,"world");
}

标签: c++printf

解决方案


std::printf的参考中,说明-符 after%是一个可选标志,用于左对齐要打印的字符串:

-: 转换结果在字段内左对齐(默认为右对齐)

所以你的程序会写出“hello”,后跟 20 个空白字符,然后是“world”,后跟 85 个空白字符。


推荐阅读