(8.1.1) これは、C言語ではなく、端末の話である。
(8.1.2) ここの端末は、よその多くの端末と同じく、 「\033[」で始まる特別な文字列を画面に出力することで、 文字に色をつけたり、出力位置を変えたりすることができる。
(8.1.3) 「\033[自然数m」で文字の色などが変わる。 「\033[m」で普通に戻る。
#include <stdio.h> main() { int i; for (i = 0; i < 256; i++) { printf("\033[%dm [%03d] \033[m " , i, i); if (i % 16 == 15) { printf("\n"); } } }
(8.1.4) printf("\033[2J"); で画面全体を消去。 printf("\033[10;20H"); で次の出力位置を 10 行 20 桁めに変更。 printf("\033[2K"); で行末まで削除。
(8.1.5) ランダムな位置に、ランダムな色で「#」を書くプログラム。
#include <stdio.h> #include <stdlib.h> #define HEIGHT 40 #define WIDTH 80 main() { int i; for (i = 0; i < 10000; i++) { printf("\033[%d;%dH", rand()%HEIGHT+1, rand()%WIDTH+1); printf("\033[%dm", rand()%256); printf("#"); } printf("\033[m"); }