Linux講座にようこそ。このページは「C言語プログラミング入門 - 第14章.ライブラリ関数 - 文字処理ライブラリ」です。
C言語では文字をchar型として扱いますが、char型は1バイト長(8ビット)ですので取り扱える文字は「付録1.ASCIIコード表」の半角文字(半角の英字・数字・記号、等)となります。文字列(char型の配列)とは異なり、文字の代入(コピー)や比較は代入演算子(=)や比較演算子(==や!=)で行う事が出来ますので、これらの操作に関しては関数を使う必要は有りません。
ここで説明する関数は次の通りです。なお、ヘッダファイルとしてはctype.hが必要です。また、これらの関数の引数はint型ですが、char型はint型と同じく整数を取り扱うための型名ですので、引数としてchar型を指定することも出来ます。
区分 | 関数名 | 機能概要 |
---|---|---|
英数字チェック | isalnum() | 英字または数字かどうかをチェックします。 |
isalpha() | 英字かどうかをチェックします。 | |
isdigit() | 数字(0〜9)かどうかをチェックします。 | |
isxdigit() | 十六進数(0〜9、A〜Fまたはa〜f)の数字かどうかをチェックします。 | |
表示可能チェック | isgraph() | スペース以外の表示可能な文字かどうかをチェックします。 |
isprint() | スペースを含む表示可能な文字かどうかをチェックします。 | |
ispunct() | スペースと英数字以外の表示可能な文字かどうかをチェックします。 | |
大文字・小文字チェック | isupper() | 英小文字(a〜z)かどうかをチェックします。 |
islower() | 英大文字(A〜Z)かどうかをチェックします。 | |
大文字・小文字変換 | toupper() | 英大文字を英小文字に変換します。 |
tolower() | 英小文字を英大文字に変換します。 | |
その他 | iscntrl() | 制御文字かどうかをチェックします。 |
isspace() | 空白文字(スペース、タブ、改行、等)かどうかをチェックします。 |