私はこのループのようなものを使用してCプロジェクトのためのシンプルな16 * 16の端末ディスプレイを作るしようとしている:上書き複数の端末回線
for(i = 1; i <= 256; i++) {
printf("%c ", output[i-1]);
if(i % 16 == 0) {
printf("\n");
}
}
このような何か(ただし、2倍の大き)を表示するには:
* * * * * * * *
* * * * * * * *
* * * * * * * *
* * * * * * * *
* * * * * * * *
* * * * * * * *
* * * * * * * *
* * * * * * * *
問題は、私が代わりにそれを上に印刷する必要があるときに、これは明らかにちょうど、新しいディスプレイ前の表示が更新されるたびに、以下のを出力します。キャリッジリターン\r
は、前の行に書き込むだけですが、前の16行に書き戻す必要があります。
Cでこれを行う方法はありますか?私はWindowsを使用しているので、ncursesがオプションかどうかわかりません。
です。不透明な標準出力ストリームだけでなく、実際の*端末*で作業することをお勧めします。ターミナルコントロールはプラットフォーム固有のものなので、ベンダーのドキュメントを参照してください(Windowsの場合)。 https://stackoverflow.com/questions/138153/is-ncurses-available-for-windowsも参照してください。 –
アドバイスをいただき、ありがとうございました。 –
WindowsコンソールでANSIエスケープコードがサポートされている場合は、[この質問](http://stackoverflow.com/q/41485511/2564301)で指し示されているソースコードを見ることができます。カーソルは画面の上部に配置されますまずそれをクリアすることなく。 – usr2564301