Je suis en utilisant la bibliothèque iomanip
à ce cout:problèmes d'alignement avec <iomanip>
std::cout << std::endl
<< std::left << std::setw(15) << "Ticker Symbol"
<< std::setw(100) << "Stock Name"
<< std::setw(12) << "Value"
<< std::setw(10) << "Date"
<< std::setw(10) << "YTD Return"
<< std::endl;
Le problème est qu'il finit par imprimer ceci:
T icker SymbolS tock NameV alueD ateY TD Return
Au lieu de:
Ticker Symbol Stock Name Value Date YTD Return
Y at-il un moyen que je peux résoudre ce problème sans utiliser une autre bibliothèque?
Edit: Ma fonction de surcharge de l'opérateur semble être la cause de ce problème:
std::ostream& operator<< (std::ostream& out, const char array[])
{
for (uint8_t i = 0; array[i] != '\0'; i++)
{
out << array[i];
}
return out;
}
Cela étant dit, je ne sais toujours pas comment résoudre ce problème.
Un coup dans l'obscurité: ne chasse le flux entre les écritures d'aide? –
Mettre 'std :: cout.flush();' avant que ce code ne fasse rien. – LarryK
[Ne peut pas reproduire] (http://coliru.stacked-crooked.com/a/9f71dfe3af6aa51f) – NathanOliver