2

Linux および Windows で実行され、C で記述され、コンソールに出力を表示する小さなルーチンがあります。私は呪いなどの形でリンクしていません。

現在、私は使用して画面をクリアします

#ifdef __WIN32
  system( "cls" );
#else
  system( "clear" );
#endif

次に、ステータスを更新するための一連の printf ステートメントがあります。私が望むのは、スクリーンポインタを 0,0 にリセットして、printfs をオーバーレイできるようにすることです。特に2つの異なるOS用にコーディングしているため、これ以上拡張機能をコンパイルすることは避けたいと思います。

4

4 に答える 4

1

Unix ライクなプラットフォームの場合、これを行う通常の方法はcursesライブラリを使用することです。

于 2008-09-11T11:50:31.417 に答える
0

はい、UNIX プラットフォームの場合は、curses (最近では ncurses) が最適です。また、Windows で動作するバージョンもあるため、両方のシステムで同じ方法で実行できます。

于 2008-09-19T01:12:13.753 に答える
0

Windows固有の方法を見つけたようです

Linux の Ansi エスケープ シーケンス \033[0;0H - コンソールに出力するだけです。

于 2008-09-11T11:43:21.650 に答える
0

Windows の場合 - ANSI エスケープ文字を使用できます。

http://www.lexipixel.com/news/star_dot_star/using_ansi_escape_sequences.htm

http://www.robvanderwoude.com/ansi.html

printf "\x[0;0H"

以前は、これを行う前に Ansi.sys をロードする必要がありましたが、試してみる価値はあります。

ANSI サポートを追加する手順 http://www.windowsnetworking.com/kbase/WindowsTips/WindowsXP/UserTips/CommandPrompt/CommandInterpreterAnsiSupport.html 注: Ansi.sys は command.com でのみ機能します。cmd.exe では使用できません

于 2009-01-08T17:45:54.797 に答える