1

このサンプルプログラムがあります。画面とスクロールバックバッファをクリアします。

#include <stdio.h>
int
main(void)
{
  printf("\ec");
  return 0;
}

しかし、私はそれを読みました

すべての端末がANSI/VT100+エスケープシーケンスを使用するわけではありません。

だから私はGillesが示唆erase();するような ものを使いたいと思っています。ただし、友人は画面をクリアするだけで、バッファはクリアしないようです。erase

4

2 に答える 2

2

Windowsを使用している場合は、これを使用できます

#include <stdio.h>

int main(void)
{
  system("cls"); //call to system function to clear screen.
  return 0;
}

このスレッドには次の提案があります。

スクロールバックを削除するウィンドウで、スクロールバックをゼロに設定してから、通常の値(この場合は15000)に戻します。

必要に応じて、これをキーにバインドできます。

bind / eval "scrollback 0" "scrollback 15000"

scrollback 0と入力した後、セッションからコマンドを発行することもできますC-a :。HTH。

于 2013-02-18T09:10:20.540 に答える
1

Cには画面またはスクロールバックバッファの概念がないため、Cだけを使用してこれを解決することはできません。システムは、プログラムをCプログラムではなく、「Frobnizコンパイラを使用してFrobozz Magic V1.42にあり、CleanScreenライブラリツールキットにリンクされたC実装」用に作成されたプログラムをレンダリングすることで、目的の効果を実現する方法を提供する場合があります。 "。ポータブルでないプログラミングの悪夢から身を守り、アイデアを忘れてください。Cでアルゴリズムを実装するなどの有用な問題を解決し、画面のクリアのような役に立たないクロムを忘れてみてください。(本当に必要な場合は、termcapライブラリにリンクして、適切な関数を呼び出します)。

于 2013-02-18T09:09:47.410 に答える