C言語 数値判定 16進数判定 - ctype.h - [ isdigit, isxdigit ]

2008.08.20 Wednesday | by LRESULT


値判定には、isdigit()、16進数判定には、isxdigit()を使います。


isdigit
書式 int isdigit( int c )
機能 数値判定
引数 int c : 判定する文字
戻り値 数値( 0〜9 )であれば、0以外を返し、
数値でなければ、0を返します。



isxdigit
書式 int isxdigit( int c )
機能 16進数判定
引数 int c : 判定する文字
戻り値 16進数( 0〜9, A〜F, a〜f )であれば、0以外を返し、
16進数でなければ、0を返します。





サンプルコード
文字列「Aa Bb 1-2*3 Cc」から、数値と16進数を抽出してみます。
#include <stdio.h>
#include <ctype.h>

int main(void)
{
  int i;
  char str[] = "Aa Bb 1-2*3 Cc";

  printf( "数値を抽出:" );
  for( i=0; i<15; i++ ){
    if( isdigit( str[i] ) != 0 ) printf( "%c", str[i] );
  }

  printf( "¥n16進数を抽出:" );
  for( i=0; i<15; i++ ){
    if( isxdigit( str[i] ) != 0 ) printf( "%c", str[i] );
  }

  return 0;
}



結果
数値を抽出:123
16進数を抽出:AaBb123Cc
と、表示されます。
16進数に関しては、0xなど付いてなくても
その文字であれば、単純に判定されます。

カテゴリ:C言語 ctype.h | 23:35 | comments(0) | trackbacks(0) | -


コメントする











この記事のトラックバックURL

トラックバック機能は終了しました。

トラックバック