1

C の termcaps を使用して、端末のカーソルの (Y, X) 位置を取得する必要があります。

端末画面のサイズをioctl()取得しますが、カーソルの位置を取得する必要があります。

私はこれを見つけました :

CSI 6 n DSR – デバイス ステータス レポート カーソル位置を (キーボードで入力したかのように) ESC[n;mR としてアプリケーションにレポートします。n は行、m は列です。(MS-DOS では動作しない場合があります。)

しかし、私はCでそれを使用する方法がわかりません...

4

2 に答える 2

4

<ESC>[6nへの通常の出力を使用して、コマンド シーケンス () を端末に書き込みますstdout。次に、 からの通常の入力を使用して応答を読み取りますstdin

位置を選択するには、「返信」を解析する必要があります。

于 2016-01-12T14:48:05.420 に答える
-3

これは、gcc linuxで指定されたxおよびygotoxy()位置に印刷できる関数です。

#include<stdio.h>
//gotoxy function
void gotoxy(int x,int y)
{
printf("%c[%d;%df",0x1B,y,x);
}
main ()
{
gotoxy(25,50); //reposition cursor
printf("hello world"); //display text
}

Windows 用のターミナル (dos プロンプト) を使用している場合は、コンソールの入力と出力のリファレンスを次に示します。

于 2016-01-12T15:10:56.020 に答える