Я пытался отформатировать вывод на консоль в течение самого долгого времени, и ничего не происходит. Я пытаюсь использовать как можно больше iomanip
и функции ofstream&
.Форматирование вывода консоли C++
void list::displayByName(ostream& out) const
{
node *current_node = headByName;
// I have these outside the loop so I dont write it everytime.
out << "Name\t\t" << "\tLocation" << "\tRating " << "Acre" << endl;
out << "----\t\t" << "\t--------" << "\t------ " << "----" << endl;
while (current_node)
{
out << current_node->item.getName()// equivalent tabs dont work?
<< current_node->item.getLocation()
<< current_node->item.getAcres()
<< current_node->item.getRating()
<< endl;
current_node = current_node->nextByName;
}
// The equivalent tabs do not work because I am writing names,
// each of different length to the console. That explains why they
// are not all evenly spaced apart.
}
Это их все, что я могу использовать, чтобы все было правильно выровнено между собой? Функции, которые я вызываю, понятны и имеют разные длины, поэтому они не очень хорошо выравниваются друг с другом.
Я пробовал практически все в iomanip
.
+1 для стандартных Io манипуляторов (setw и др), +1 для определения пользовательского iomanip, -1 для Excel – outis
И вы можете также ограничить размер строки, которая будет печататься только в случае, если у вас есть большой строки (такие как полные имена) – Vargas