在C++控制台窗口中显示表格

4
cout<<"  Name\t"
    <<"Cat\t"
    <<"Barcode\t"
    <<"Price\t"
    <<"Manufa\t"
    <<"Stock\t"
    <<"Sold\t"
    <<"ExDate\t "
    <<"Disc"<<endl;
for (unsigned int i=0; i < _storage.size(); i++)
{
    cout <<i <<":";
    _storage[i]->showData();
    cout<<endl;
}

我正在尝试以对齐的方式显示数据。目前我使用`t`字符来实现,但如果变量中的数据太长,则会导致不对齐。

如何在C++中以表格形式正确显示数据?


你的意思是 MS-DOS,指的是控制台吗? - Peter
@user1203499:MS-DOS是一种古老的操作系统,控制台是一个窗口,允许用户与命令行界面应用程序进行交互。 - Matteo Italia
@user1203499:MS-DOS是一个来自80年代的操作系统,现在很少有人使用。如果你不知道这个区别,我怀疑你不是那些人之一。控制台是一个带有文本界面的窗口。 - Benjamin Lindley
2个回答

5

您可以使用 std::setw 来设置字符串宽度:

std::cout << std::setw (5) << "ASM" << std::endl;

因此,不需要使用制表符,只需将字符串填充到足够的长度即可。


1

你可以使用 setfillsetw 来设置列的填充字符和宽度。问题在于你必须限制列数使其显示正确。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接