プロが教える店舗&オフィスのセキュリティ対策術

コンソールで文字を上下や左右に動かすことは出来るのでしょうか?
例えばaという文字を左から右へ動かす。
出来るのでしたらどのようにすればいいのか教えて下さい。

使用しているOSはRedHatLinux7.3です。

A 回答 (2件)

CUIが中心の時代にはコンソールにコントロールコードやESCシーケンスを送り、文字を動かしていました。


printfでコントロールコードを出力してカーソルの動きを調べてください。文字を右へ動かすということは
a
(bs)
(sp)a
(bs)(bs)
(sp)(sp)a
(bs)(bs)(bs)
(sp)(sp)(sp)a
という具合に改行せずにカーソルを移動させる方法で実現します。ESC やCSIのシーケンスをうまく使えばもっと短いコードでいろいろなことができますが、コンソールの設定に依存するので試してみてから考えてください。

参考URL:http://www.linux.or.jp/JM/html/LDP_man-pages/man …

この回答への補足

すみません。初心者でよく分からないのですがprintfを使って
printf("a");
printf("(bs)");
printf("(sp)a");
printf("(bs)(bs)");
printf("(sp)(sp)a");
printf("(bs)(bs)(bs)");
printf("(sp)(sp)(sp)a");
と、すればよいのですか?

補足日時:2002/11/11 16:45
    • good
    • 0
この回答へのお礼

ありがとうございました。

お礼日時:2002/11/11 20:54

(bs) は16進数で0x08 --> \x08


(sp) は空白なので普通に半角" "を入れればいいでしょう。
printf("a");
printf("\x08");
printf(" a");
printf("\x08\x08");
printf(" a");
printf("\x08\x08\x08");
printf(" a");
ですが、この間に時間待ちのルーチンを入れないとあっという間に動いていってしまいます。
時間待ちを割り込みで作るのかctimeを引くのかはお任せします。
    • good
    • 0
この回答へのお礼

詳しい説明ありがとうございました。

お礼日時:2002/11/11 20:53

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!