認知度は意外と低いのですが、Linuxの端末であれば**「ANSIエスケープシーケンス」**が使えます。\x1b[
に続けて所定の書式で文字を出力するだけで、表示位置を指定したり、文字の色を変えてカラフルに表示させたりと、様々な機能が利用できます。
この辺に判りやすい説明が書かれています。
https://qiita.com/PruneMazui/items/8a023347772620025ad6
https://www.mm2d.net/main/prog/c/console-02.html
追記
下のコメントにも書きましたが、Windowsのコマンドプロンプトでは、そのままではANSIエスケープシーケンスは使えません。↓のようなコードを実行すると使えるようになります。
※標準出力ではなく標準エラーに出力する場合は、STD_OUTPUT_HANDLEをSTD_ERROR_HANDLEに変えてください。
c++
1DWORD mode;
2::GetConsoleMode(::GetStdHandle(STD_OUTPUT_HANDLE), &mode);
3::SetConsoleMode(::GetStdHandle(STD_OUTPUT_HANDLE), mode | ENABLE_VIRTUAL_TERMINAL_PROCESSING);