アプリケーションはテキストベースのコンソールまたは端末を操作し、色を変更したり、カーソルの位置を設定したりできます。サポートされているアプローチは次のとおりです。
- Unix系システムの場合:がある
ANSI escape code
。 - Windows システムの場合:次のようなAPIがあります
SetConsoleTextAttribute
。 - ...
しかし、色とカーソルに関してのみオペレーティング システム間の違いを処理する軽量で移植可能な C/C++ ライブラリはありますか?技術的に不可能だが最善の努力をする場合は何もしません。
注: 私は、Unix のような端末 (Cygwin、Msys-rxvt など) をエミュレートするための重い外部ツールを探しているわけではありません。Windows API と ANSI エスケープ コードを使用すれば、単純な移植性が実現できると思います。 また、ncurses は重く、コンソールを完全に制御するための機能が多く、エミュレーションが必要だと思うため、使用しません。
ベストアンサー1
さて、ついにポータブルで使いやすいライブラリを見つけました:rlutil.h
使用法:
#include <iostream>
#include "rlutil.h"
int main()
{
for (int i = 0; i < 16; i++)
{
rlutil::setColor(i);
std::cout << i << " ";
}
std::cout << std::endl;
return 0;
}
ただし、他の提案があれば喜んでお受けします。