menu
[資料] エスケープシーケンス

1.特殊な文字

文字列説明備考
¥aアラート
¥bバックスペース
¥n改行
¥rキャリッジリターンOSに依存
¥f改ページプリンタ用
¥t水平タブ
¥v垂直タブプリンタ用
¥¥半角文字 ¥(円マーク)
¥?半角文字 ?(クエスチョンマーク)
¥'半角文字 ' (シングルクォーテーション)
¥"半角文字 " (ダブルクォーテーション)
¥0NULL
¥N8進定数(Nは3桁までの8進数)例)007
¥xN16進定数(Nは2桁までの16進数)例)FF

2.画面制御

文字列説明備考
ESC[0Jカーソル位置から画面右下まで消去
ESC[1J画面左上からカーソル位置まで消去
ESC[2J画面クリア
ESC[0Kカーソル位置から右側消去同一行
ESC[1Kカーソル位置から左側消去同一行
ESC[2Kカーソルのある1行の消去
ESC[nAカーソルをn行上へ移動
ESC[nBカーソルをn行下へ移動
ESC[nCカーソルをn桁右へ移動右端で停止
ESC[nDカーソルをn桁左へ移動左端で停止
ESC[r;cHカーソルをr行、n桁目へ移動もしくはESC[r;nf

3. 文字制御

文字列説明備考
文字修飾ESC[1mハイライト(太字)
ESC[4m下線
ESC[5mブリンク(点滅)
ESC[7mリバース(反転)
文字色ESC[30m
ESC[31m
ESC[32m
ESC[33m
ESC[34m
ESC[35mマゼンタ
ESC[36mシアン
ESC[37m
ESC[39m標準色
背景色ESC[40m
ESC[41m
ESC[42m
ESC[43m
ESC[44m
ESC[45mマゼンタ
ESC[46mシアン
ESC[47m
ESC[49m標準色

4. サンプル・プログラム

コマンドプロンプトにおける準備

 Windows OS上のコマンドプロンプト画面においてエスケープシーケンスを有効にするためには、ANSI.SYSを組み込む必要があります。そのためには、ファイルconfig.sysに次の一行を追加します。また、コマンドプロンプトにはCOMMAND.EXEを使います。
devicehigh=%SystemRoot%¥system32¥ANSI.SYS

#include <stdio.h>

int main(void)
{
	printf("¥033[2J");		//画面クリア
	printf("¥033[5;12H");		//5行目12列目へカーソル移動
	printf("¥033[35H");		//文字をマゼンタに
	printf("Good Luck!¥n");
	
	printt("¥033[39m");		//デフォル色に戻す
	
	return 0;
}

関数マクロを利用した例

#include <stdio.h>

#define esc_clear() printf("¥033[%2J")			//画面クリア
#define esc_pos(x,y) printf("¥033[%02d;%02dH", y, x)	//カーソル移動
#define esc_bs() printf("¥033[1K")			//バックスペース
#define esc_color(c) printf("¥033[3%dm",c)		//文字色

int main(void)
{
	esc_clear();			//画面クリア
	esc_pos(12,5);			//5列目、12行目
	esc_color(5);			//文字をマゼンタに
	printf("Good Luck!¥n");
	
	esc_color(9);			//デフォル色に戻す
	
	return 0;
}