c++ - C++ 使用同一个函数时如何修改间距
问题描述
假设我有两个函数,每个函数都使用这样的函数printInfo()
:
void printInfo() {
cout << "4spaceshere " << "name";
}
void printMemberInfo() {
printInfo();
}
void printMember() {
printInfo();
}
int main() {
printMemberInfo();
printMember();
return 0;
}
无论如何,我可以"name"
为每个函数修改之前的空格吗?
例如:
printMemberInfo()
必须产生这样的输出:3spaceshere name
,并且printInfo()
会打印出来5spaceshere name
。我试过了cout << setw()
,cout.width()
但似乎没有用。希望大家能帮忙!谢谢!
解决方案
要么使用参数让printInfo
知道要打印的空格数:
#include <iostream>
#include <iomanip>
void printInfo(int spaces)
{
std::cout << std::setw(spaces) << ' ' << "name\n";
}
void printMemberInfo()
{
printInfo(5);
}
void printMember()
{
printInfo(3);
}
int main()
{
printMemberInfo();
printMember();
}
或让调用函数打印所需的空格:
#include <iostream>
#include <iomanip>
void printInfo(int spaces)
{
std::cout << "name\n";
}
void printMemberInfo()
{
std::cout << std::setw(5) << ' ';
printInfo();
}
void printMember()
{
std::cout << std::setw(3) << ' ';
printInfo();
}
int main()
{
printMemberInfo();
printMember();
}
推荐阅读
- python - 连接到 Spyder 的 Abaqus Python 控制台
- c# - 两个或多个模型剃须刀 c# mvc
- python - pyCharm 找不到模块“时间”
- c# - asp.net mvc 中的 UnitOfWork 错误
- deep-learning - 写论文时如何判断cnn的准确性
- sql-server - 每天选择前 30% 的条目
- three.js - Three.js:正确的颜色没有拾取
- javascript - 通过单击另一个表格中的单元格来删除表格中的列
- jquery - 处理带有多条记录的asp.net核心表单中的多选列表框值提交
- php - 如何在 opencart 中动态更改 DIR_APPLICATION?