エスケープ文字をテストするウィジェット
1647 ワード
エスケープ文字の中で、私たちが最もよく知っているのは改行文字かもしれません.今日Cプログラミング言語を見ていると、付録Aの文字定数がよく見られ、よく使われるエスケープ文字について言及されています.小さなプログラムを書いて各エスケープ文字の機能をテストする考えが急に芽生えた.合格したプログラマーになるには、コードをもっと叩いて、理論を実践に変えなければなりません.
プログラムソース:
実行結果は次のとおりです.
rita@rita-desktop:~/work/c_program/exercise/ch2$ ./t test : a b test\t: a b test\v: a b test\b: b test\r: b test\f: a b test\a: ab test\\: a\b test\?: a?b test\': a'b test\“: a"b test\123: aSb test\x23: a#b
実行結果の説明:
「a」をテストすると、ポタポタと聞こえます.
8進法'123'をテストすると、8進法123=10進法83となり、ASCIIテーブルでは大文字Sに対応します.
16進数x 23をテストすると、16進数23=10進数35となり、ASCIIテーブルでは文字#に対応します.
プログラムソース:
#include <stdio.h>
typedef struct _escchar{
char c;
char *name;
}escchar;
escchar esc[]={ {'
', "\
"},
{'\t', "\\t"},
{'\v', "\\v"},
{'\b', "\\b"},
{'\r', "\\r"},
{'\f', "\\f"},
{'\a', "\\a"},
{'\\', "\\\\"},
{'\?', "\\?"},
{'\'', "\\'"},
{'\"', "\\\""},
{'\123', "\\123"},
{'\x23', "\\x23"}
};
int main()
{
int i;
for ( i = 0; i < sizeof(esc)/sizeof(struct _escchar); i++){
printf("test %s:
a%cb
",esc[i].name, esc[i].c);
}
return 0;
}
実行結果は次のとおりです.
rita@rita-desktop:~/work/c_program/exercise/ch2$ ./t test : a b test\t: a b test\v: a b test\b: b test\r: b test\f: a b test\a: ab test\\: a\b test\?: a?b test\': a'b test\“: a"b test\123: aSb test\x23: a#b
実行結果の説明:
「a」をテストすると、ポタポタと聞こえます.
8進法'123'をテストすると、8進法123=10進法83となり、ASCIIテーブルでは大文字Sに対応します.
16進数x 23をテストすると、16進数23=10進数35となり、ASCIIテーブルでは文字#に対応します.