サイトマップ / C言語講座>出入り口>総目次>目次:関数>文字を調べる関数群
 
 
[文字の内部表現]←このソース→[文字列を浮動小数点数に変換]
/* 今日は文字を調べる標準ライブラリ関数について学びます。下記にその一例を示します。
    #include <ctype.h>
    int isalpha(int c);
    例:isalpha(c);
    関数の実行結果        戻り値
    一致した場合          0以外
    一致しなかった場合    0
標準ライブラリ関数isalpha( )を使うには、ctype.h をインクルードする必要があります。isalpha( )はcが英字(a-z、A-Z)であればゼロ以外の値を、cが英字でなければゼロを返します。これに良く似た標準ライブラリ関数があります。いづれも、ctype.hをインクルードして使います。いづれも、一致したらゼロ以外の値を返します。
| 関数 | 文 字 種 | 
| int isalnum(int c); | 英数字(a-z、A-Z、0-9) | 
| int iscntrl(int c); | 制御文字 ( ASCIIコードの0x0-0x1F 及び0x7F ) | 
| 10進数(0-9) | |
| int isgraph(int c); | スペース(' ')を除く印字可能文字(ASCIIコードの0x21〜0x7E) | 
| int islower(int c); | 英小文字(a-z) | 
| int isprint(int c); | スペースを含む印字可能文字(ASCIIコードの0x20〜0x7E 0x7Fを除く) | 
| int ispunct(int c); | 区切り文字(' ' # $ % ^ ( ) " ' \ ; : [ ] { } | - _ = + / ?) | 
| int isspace(int c); | スペース(' ')と \f \n \r \t \v | 
| int isupper(int c);< | 英大文字(A-Z) | 
| int isxdigit(int c); | 16進数(0-9 A-F a-f) | 
今日のソースプログラムは、キーボードから英大文字、小文字、数字などを1文字入力し、その文字が何かを自作の関数 CheckChar( )で判定します。自作の関数CheckChar( )は、引数としてint型の整数を引数として取り、戻り値はありません。
メインルーチンではint型のcとiを宣言します。cには、キーボードから入力した文字の値が入ります。iはforループで使われ、初期値は1です。cを引数にして、CheckChar( )を呼び出しています。CheckChar( )を作らないで、main( )関数の中に書いてもいいのですが、こうすることでソースプログラムが見やすくなります。 */
| #include <stdio.h> #include <ctype.h> void CheckChar(int c); void main(void); void CheckChar(int c) { if (isupper(c)) /* 英大文字なら */ printf("英大文字です。"); else if (islower(c)) /* 英小文字なら */ printf("英小文字です。"); else if (isdigit(c)) /* 数字なら */ printf("数字です。"); else if (isspace(c)) /* スペースなら */ printf("スペースです。"); else /* 上記のいずれでもなかったら */ printf("何かわかりません"); } void main(void) { int c, i; for (i = 1; i < 5; i++) { printf("\n%d回目\tアルファベットや数字を入力して下さい ", i); c = getchar( ); printf("あなたが入力した文字は"); CheckChar(c); fflush(stdin); /* キーボードに残っている改行コードを捨てる */ } } | 
/* fflush(stdin) について説明します。
    #include <stdio.h>
    int fflush(FILE *fp);
    例:fflush(fp);
    関数の実行結果    戻り値
    成功した場合        0
    失敗した場合      EOF
fflush( )は入力用に開かれているファイルの全ての内容を捨てます。出力用に開かれているファイルの場合は、全ての内容を出力します。このプログラムを実行するには、キーボードから文字を入力してから、改行キーを押します。プログラムで使っているのは1文字で、標準入力(stdin:キーボード)には改行コードが残っています。fflush( )を使って、改行コードを捨てて、getchar( )の動作を正常にします。
fflush( )の引数のデータ型 FILE については、後日、ファイルを操作する時に説明します。 */
[文字の内部表現]←このソース→[文字列を浮動小数点数に変換]
 
/* (C) 2000- YFプロ. All Rights Reserved. */ 提供:C言語講座−それ自体コンパイルできる教材を使った講座です−
