在C++中,可以使用setw()
函数和left
或right
操纵符来实现fprintf的纵向对齐。例如:
#include <iostream>
#include <iomanip>
#include <cstdio>
int main() {
fprintf(stdout, "%-10s%-10s%-10s\n", "Name", "Age", "City");
fprintf(stdout, "%-10s%-10d%-10s\n", "Alice", 25, "New York");
// 使用setw()和left/right操纵符来实现纵向对齐
std::cout << std::setw(10) << std::left << "Bob"
<< std::setw(10) << std::right << 30
<< std::setw(10) << std::left << "Los Angeles" << std::endl;
return 0;
}
以上代码通过fprintf
和std::cout
分别实现了纵向对齐输出。通过在%-10s
和%-10d
中添加负号,可以实现左对齐。std::setw(10)
用来设置字段宽度,std::left
或std::right
用来设置对齐方式。
希望这可以帮助到您。