VC++6.0で教えてほしいことがあります
アルファベットなどが入った文字を数値に変換したときにそれを判断する方法はありますでしょうか?
例
int idat;
char *cdat;
cdat="A";
//変換方法1
idat = atoi(cdat);
//変換方法2
sscanf(cdat, "%d", idat);
atioで変換してもsscanfで変換しても結果は0になりますので変換後では数値以外を変換したとの判断ができません。
数値以外を変換したまたは変換しようとしているのを判定したいのですが
どのような方法がありますでしょうか?
#どっかの掲示板で最近同じような質問のを見た気が・・・
# そこでの回答より
strtol()で、最後まで走査されたかで判断する。
あとは、isdigit()を用いて、判別も可能な関数を自作する。
> #どっかの掲示板で最近同じような質問のを見た気が・・・
http://forums.belution.com/ja/vc/000/327/15s.shtml
ですね。
ありがとうございます、参考にします
ツイート | ![]() |