gpt4 book ai didi

c++ - 格式化到控制台,C++

转载 作者:行者123 更新时间:2023-11-30 03:12:09 24 4
gpt4 key购买 nike

我正在尝试在控制台窗口中将我的输出格式化为四个单独的字段,所有字段的间距都均匀。

out << left << setw(24) << "Name" << "Location" 
<< right << setw(20) << "Acres " << "Rating" << endl;

out << left << setw(24) << "----" << "--------"
<< right << setw(20) << "----- " << "------" << endl;

while ( current_node )
{
out << left << setw(24) << current_node->item.getName() // equivalent tabs dont work?
<< current_node->item.getLocation() << right << setw(20)
<< current_node->item.getAcres()
<< " " << current_node->item.getRating()
<< endl;

current_node = current_node->nextByName;
}

上面的代码,出于某种原因,当 setw(n) 是相同的值时,它没有均匀地间隔......

最佳答案

setw() 操纵器仅影响下一个输出字段 - 它不是“粘性”的。因此,您需要为每个输出字段指定您想要的内容,而不仅仅是更改它一次并期望它对以下每个输出项起作用。

我想你想要这样的东西:

cout << left << setw(24) << "Name" << setw(24) << "Location" ;
cout << right << setw(20)<< "Acres" << setw(20) << "Rating" << endl;

cout << left << setw(24) << "----" << setw(24) << "--------" ;
cout << right << setw(20) << "-----" << setw(20) << "------" << endl;

while ( current_node )
{
cout << left << setw(24) << current_node->item.getName()
<< setw(24) << current_node->item.getLocation()
<< right
<< setw(20) << current_node->item.getAcres()
<< setw(20) << current_node->item.getRating()
<< endl;

current_node = current_node->nextByName;
}

C++ 流 I/O - 类型安全,但完整性不安全。

关于c++ - 格式化到控制台,C++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1450443/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com