文字->数値変換


Kiki  2005-11-23 04:19:58  No: 59735

VC++6.0で教えてほしいことがあります
アルファベットなどが入った文字を数値に変換したときにそれを判断する方法はありますでしょうか?


int idat;
char *cdat;
cdat="A";
//変換方法1
idat = atoi(cdat);
//変換方法2
sscanf(cdat, "%d", idat);

atioで変換してもsscanfで変換しても結果は0になりますので変換後では数値以外を変換したとの判断ができません。
数値以外を変換したまたは変換しようとしているのを判定したいのですが
どのような方法がありますでしょうか?


KING・王  2005-11-23 04:48:47  No: 59736

#どっかの掲示板で最近同じような質問のを見た気が・・・
# そこでの回答より

strtol()で、最後まで走査されたかで判断する。

あとは、isdigit()を用いて、判別も可能な関数を自作する。


Blue  2005-11-23 04:53:35  No: 59737

> #どっかの掲示板で最近同じような質問のを見た気が・・・
http://forums.belution.com/ja/vc/000/327/15s.shtml
ですね。


Kiki  2005-11-23 06:23:55  No: 59738

ありがとうございます、参考にします


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加