web-dev-qa-db-fra.com

std :: cout pour imprimer le caractère N fois

Comment puis-je imprimer un caractère N nombre de fois en utilisant std::cout sans bouclage?

Existe-t-il un moyen de déplacer le curseur de texte pour annuler l’effet de std::cout << std::endl;? c'est-à-dire pour monter d'une ligne (disons que nous n'avons jamais rien imprimé après l'opération std::cout << std::endl;).

31
shiraz
 std::cout << std::string(100, '*') << std::endl;

Pour déplacer une ligne, vous devez recourir à des échappements de terminaux (en supposant que isatty() indique que vous utilisez une ligne).

59
sehe
std::cout << std::setfill(the_char) << std::setw(100) << "";
14
Benjamin Lindley

existe-t-il un moyen de revenir en arrière pour annuler l'effet de cout << endl; c.-à-d. pour monter d'une ligne (disons que nous n'avons jamais rien imprimé après l'opération cout << endl;) Merci beaucoup!

Utilisez l'opérateur ternary (ou une instruction if si vous vous référez) ... quelque chose comme ...

void PrintCharNtimes(char chatToPrint; int numTimes)
{
   std::cout << std::string(numTimes, chatToPrint) << (numTimes > 0) ? std::endl : ;
}
0
Mawg