文字処理関数

 今回はctype.hのヘッダファイルをincludeすると使える関数について説明します。ctype.hは、文字型のデータに関しての命令セットです。主なものを以下に列挙します。

  • isalnum(c):文字cが英数字(A-Z, a-z, 0-9)なら真を返す
  • isalpha(c):文字cが英文字(A-Z, a-z)なら真を返す
  • isdigit(c):文字cが数字(0-9)なら真を返す
  • islower(c):文字cが小文字(a-z)なら真を返す
  • isupper(c):文字cが大文字(A-Z)なら真を返す
  • tolower(c):文字cが大文字だった場合に小文字に変換して返す
  • toupper(c):文字cが小文字だった場合に大文字に変換して返す

 以下のサンプルプログラムを作成し、実行してみて下さい。

#include <stdio.h>
#include <ctype.h>		//ctype.hのインクルードを忘れずに

int main(int argc, const char * argv[])
{
    
    // insert code here...
    char lo = 'a';
    char up = 'A';
    
    if(islower(lo)) {
        printf("%c を大文字変換 -> %c\n", lo, toupper(lo));
    }
    
    if(isupper(up)) {
        printf("%c を小文字変換 -> %c\n", up, tolower(up));
    }
    
    return 0;
}

 実行すると、以下のような結果が表示されます。

a を大文字変換 -> A
A を小文字変換 -> a

 isと頭についた関数は、主に、キーボードから入力された値の判定に利用します。例えば、数字が入力されているのが前提でプログラムを構築すると、数字ではない文字が入力された場合にエラーになる可能性があります。数字以外のものを入力された場合は、何も処理を行わないようにする等のエラーを回避する処理を導入することがよくあります。そのための判定処理として、これらの命令がよく使われます。

■スポンサーリンク

このページの先頭へ