如何在不循环的情况下使用std::cout
多次打印字符?
有没有办法将文本光标移回以取消std::cout << std::endl;
的效果?即向前移动一条线(假设我们在进行std::cout << std::endl;
操作后从未打印过任何东西)。
答案 0 :(得分:60)
std::cout << std::string(100, '*') << std::endl;
要移动一行,您必须求助于终端转义(假设isatty()
表示您正在运行一个转义符。)
答案 1 :(得分:14)
std::cout << std::setfill(the_char) << std::setw(100) << "";
答案 2 :(得分:0)
有没有办法支持我们的方法来消除cout&lt;&lt;的效果ENDL; 即向前移动一条线(假设我们在做完之后从未打印过任何东西 cout&lt;&lt; ENDL;操作)非常感谢你!
使用ternary operator(或if语句,如果您参考)......类似......
void PrintCharNtimes(char chatToPrint; int numTimes)
{
std::cout << std::string(numTimes, chatToPrint) << (numTimes > 0) ? std::endl : ;
}