【问题标题】:Displaying tables in C++ console window在 C++ 控制台窗口中显示表格
【发布时间】:2012-03-10 00:41:40
【问题描述】:
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 是指控制台吗?
  • @user1203499:MS-DOS 是一个古老的操作系统,控制台是一个允许用户与命令行界面应用程序交互的窗口。
  • @user1203499:MS-DOS 是 80 年代的操作系统,现在很少有人使用了。如果你不知道差异,我怀疑你是那些人中的一员。控制台是一个带有文本界面的窗口。

标签: c++ tabular


【解决方案1】:

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

std::cout &lt;&lt; std::setw (5) &lt;&lt; "ASM" &lt;&lt; std::endl;

因此,不要使用制表符,而是将字符串填充到足够大的长度。

【讨论】:

    【解决方案2】:

    您可以使用setfillsetw 设置列的填充字符和宽度。问题是您将不得不限制列以使其看起来正确。

    【讨论】: