イントロダクション
ascii コードの文字を列挙したいということはありますよね。そんなとき、C 言語などのプログラミング言語を使用すれば、簡単に列挙することができます。
今回は、C 言語で ascii コードの図形文字(*1)を列挙するサンプルを紹介します。
*1:
制御文字でも、空白文字でもないもの
ASCII文字コード : IT用語辞典
http://e-words.jp/p/r-ascii.html
http://e-words.jp/p/r-ascii.html
C言語:asciiコードの図形文字を列挙するサンプルプログラム
プログラムコード
#include <stdio.h> void main(void) { char c; for (c = '!' ; c <= '~'; c++ ) { printf("%c", c); } }
ファイル名:main.c など
実行結果
!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~解説
以上のように、ascii コード表の '!' (文字コード:33)から、'~' (文字コード:126)までの、計 94 種類の文字を列挙することが出来ました。画面上に表示される文字は、プログラム内では”文字コード”という数値データで扱われています。
そのため、for 文という繰り返し処理を行うプログラムによって、文字コードに対して 1 つずつ値を加算しながら、その文字を画面上に表示することで、ある範囲の文字を列挙することができます。
今回の例では、
char c; for (c = '!' ; c <= '~'; c++ ) { printf("%c", c); }
となっており、変数 c を用いて、 '!' (文字コード:33)から、'~' (文字コード:126)まで、1つずつ加算しながらループ処理を行い、printf によって文字コードを文字として画面上に表示しています。
では、プログラムを構成する各要素について見てみましょう。
char c;
変数 c を使えるようにします。
for
繰り返し処理を実施します。
(
ループの条件の記載を開始します。
c = '!'
ループの初期条件として、c に 文字コードの数値 33 ('!')を設定します。
c = '!' でなぜ、その文字の文字コードが取得できるのかというと、C 言語では文字を '(シングルクォーテーション)で囲むと、その文字の文字コードを表すことが出来るからです。
;
ループの初期条件の記載はここまでです。
c <= '~'
ループの継続条件として、c が 文字コードの数値 126 ('~') 以下であれば継続します。
;
ループの継続条件の記載はここまでです。
c++
ループ内の処理が、繰り返しによって再び実施するときの処理を記載します。
変数 c を 1 つずつ加算しながらループします。
c++ は、c = c + 1 と同じです。
)
ループの繰り返し実施時の処理はここまでです。
ループの条件の記載を終了します。
{
繰り返し実施する処理の記載を開始します。
printf("%c", c);
printf 関数を用いて、情報を画面上へ表示します。
"%c" によって、変数 c が保持する数値データを文字情報として、画面へ表示することを指示しています。
}
繰り返し実施する処理の記載を終了します。
まとめ
このようにプログラムを記載すると、文字コード上連続する文字を、簡単に列挙することができます。今回は C 言語でサンプルプログラムを示しましたが、他の言語でもだいたい同じような考えで、文字の列挙を行うことができることがあります。
関連記事
C言語:数として用いられる文字を列挙するサンプルプログラムhttp://upa-pc.blogspot.com/2015/03/c-ascii-char-number-sample.html
C言語:アルファベット(大文字)を列挙するサンプルプログラム
http://upa-pc.blogspot.com/2015/03/c-ascii-char-upper-case-sample.html
C言語:アルファベット(小文字)を列挙するサンプルプログラム
http://upa-pc.blogspot.com/2015/03/c-ascii-char-lower-case-sample.html
数字、アルファベット、記号、日本語の文字一覧を知る方法
http://upa-pc.blogspot.com/2015/03/char-info-list.html
コメントを投稿 (ここをクリックしてコメント投稿フォームを表示)
コメント投稿機能について