スポンサーリンク

エスケープシーケンス(\n \a \t)等の役割

C言語

\nもニューラインと言う意味を持つ文字

これまで【 printf 】関数を用いた際、【 \n 】改行として使ってまいりましたが、実はこの\nも「ニューライン」と言う意味を持つ文字になり、文字表現定数として用いる事も可能になります。 例えば【 c=’\n’ 】とすると、cには10が代入されます。

↓はサンプルです。

#include <stdio.h>

int main(void)

{

int c;

c=’\n’;

printf(“%d\n”,c);

return 0;

}

エスケープシーケンス

通常の文字は文字コード(こちの「標準関数を使って文字列処理」一番下を参照してみてください。)によって制御されますが、これらの文字の前に【 \ 】円マークが付く事によって特別な意味を持つ文字になります。これをエスケープシーケンスよ呼びます。

エスケープシーケンス一覧

文字列 コード 略号 機能
\a 07 BEL 内蔵ベルを鳴らす
\b 08 BS バックスペース
\f 0C FF 改頁
\n 0A LF 改行
\r 0D CR 復帰
\t 09 HT 水平タブ
\v 0B VT 垂直タブ
\\ 5C \自身
\’ 27 ‘(文字定数対策)
\” 22 “(文字列定数対策)
\? 3F ?(三連文字対策)
\ooo 8進数
\xhh 16進数

※8進数は’\’に続いて三桁以内の8進数数字を書く必要があります。

16進数は”\x”に続いて二桁以内の16進数数字を書く必要があります。

#include <stdio.h>

int main(void)

{

int n,m;

n=’\a’;

m=’\t’;

printf(“a: %d\n”,n);

printf(“t: %d\n”,m);

printf(“n: %d\n”,’\n’);

printf(“\a内蔵ベルは鳴りましたでしょうか?\n”);

printf(“AAA\tBBB\tCCC\n”);

printf(“DDD\tEEE\tFFF\n”);

return 0;

}

 

上記ソースの解説

実行結果

コメント

タイトルとURLをコピーしました