我有以下代码要打印:
cout<<current->bookId<<"\t\t"<<current->bookName<<"\t\t"<<current->year<<"\t\t";
cout<<"Checked out by student "<<current->storedBy<<endl;
Run Code Online (Sandbox Code Playgroud)
看起来像这样
BookId BookName Year Status
1000 Machine Learning 1997 Checked out by student 21000000
1200 Data Mining 1991 Checked out by student 21000020
1400 C++ How to Program 2005 Checked out by student 21000020
1500 Pattern Recognition 2000 Checked out by student 21000000
Run Code Online (Sandbox Code Playgroud)
我该怎么做才能做到这一点:
BookId BookName Year Status
1000 Machine Learning 1997 Checked out by student 21000000
1200 Data Mining 1991 Checked out by student 21000020
1400 C++ How to Program 2005 Checked out by student 21000020
1500 Pattern Recognition 2000 Checked out by student 21000000
Run Code Online (Sandbox Code Playgroud)
设置字段宽度 std::setw是您正在寻找的。
用法示例:
#include <iostream> // std::cout, std::endl
#include <iomanip> // std::setw
int main () {
std::cout << std::setw(10) << "test" << std::endl;
return 0;
}
Run Code Online (Sandbox Code Playgroud)
由于参数为10,所以std::setw会显示"test"在屏幕的第10、11、12、13个字符上。
在您的情况下,您将使用与此类似的例程,并且通过一些试验和错误,您将实现您想要的:
std::cout << std::setw(10) << "col1" << std::setw(5) << "col2" << std::endl;
Run Code Online (Sandbox Code Playgroud)