スポンサーリンク

エスケープシーケンス(\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;

}

エスケープシーケンス

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

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

文字列コード略号機能
\a07BEL内蔵ベルを鳴らす
\b08BSバックスペース
\f0CFF改頁
\n0ALF改行
\r0DCR復帰
\t09HT水平タブ
\v0BVT垂直タブ
\\5C\自身
\’27‘(文字定数対策)
\”22“(文字列定数対策)
\?3F?(三連文字対策)
\ooo8進数
\xhh16進数

※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をコピーしました