端末画面をときどきクリアする必要がある小さなコンソール プログラムを作成しました。*nix システム上/用のコードを書き、system("clear")
これらのインスタンスで使用しました。コードが完成したら、コードの移植性を評価するためにレビューしました。画面をクリアする上記の方法は、私の唯一の明らかな移植性の問題でした。次に、端末をクリアするための他の可能な方法を探したところANSI Cursor Indexing
、具体的には次のドキュメントが見つかりました。
void cls() {
//27 is ESC ASCII char
printf("%c[2J",27); //clears screen
printf("%c[0;0H",27); //sets cursor at [0,0]
}
驚いたことに、このコードは私の *nix システムで見事に機能しました。この ANSI Cursor Indexing Scheme は移植可能ですか? このコードは、C 標準コンパイラを使用するすべてのシステムでコンパイルされ、期待どおりに動作しますか?」