2015/3/7コンソール制御の話をしていこうと思う。その記述に必要なエスケープシーケンスについて説明する。制御コードまず制御コードについて簡単に説明する。Interchange)コードである。ASCIIコードは1byte=8bitのうち、7bitを利用し、各番号に文字が割り当てていて、その羅列で文字列を表現する。英語圏で使われる、英数字、記号は合わせて割り当てても、7bit=128パターンにあまりがある。その余った領域に表示文字以外の意味が割り当てられている。これを制御コードと呼んでいる。制御コードと言われると、何やら難しい物を想像するかもしれないが、何も特別なものではない。「改行」や、「タブ」も制御コードの一つだ。プログラマにかぎらずだれでも利用しているものだ。現代ではほぼ使われなくなってしまったものもある。ひと通りどんなものがあるのかぐらいは見ておいても損はないだろう。プログラミングでのその扱いも文字と同じで良い。表示文字ではないので、他の文字と同じようにはソースコード上で記述できない。いうか正確ではないのだが、ここは制御コードの話なのでご容赦を。制御コードの記述とエスケープシーケンス次に、エスケープシーケンスについて説明する。エスケープシーケンスという仕組みが用意されている。これも何も特別なものではなく、C言語の勉強を始めたばかりの人であっても、見たことはあるはずである。World」で、既に登場しているからである。world!\n");}\nがそれである。\nはいわゆる改行コードとして機能する。制御コードは表示文字ではない。キーボードでは通常入力できないものもある。その中に記述された文字列リテラル内のコードなのかの区別がつかない。上記の例だと、記述上は"の手前に改行コードを入れれば直接記述できそうな気もするが、それは文法違反である。そんな風に、文字列リテラル内にはそのまま記述することはできない(難しい)のだ。そこでエスケープシーケンスが利用できる。このシーケンスはコンパイラによって解釈され、各定義の文字コードに置換される。以下に、C言語で用いられるエスケープシーケンスをまとめる。ラインフィード、次の行の先頭へ移動。改行コードとして使われる場合もある。キャリッジリターン、行の先頭に戻る。改行コードとして使われる場合もある。