数値判定関数-Ver20101021
文字列が数値かどうか判定する - Shammerismで書いてみたが、動作しないケースがあったので書き直し。
#include <stdio.h> #include <string.h> #include <ctype.h> /* * If v is number, return 1. * If v is NOT number, return 0. */ int checknumber(char *v){ int len = strlen(v); int i; int result = 1; for(i = 0; i < len && result ; i++){ int temp = isdigit(v[i]); result = result && temp; } return result; }
呼び出し側では、戻り値が0かどうかチェックする。
if( checknumber(argument) == 0 ){ printf("%s is not number.\n", argument); }