数値入力の例外処理について。
Posted: 2013年7月11日(木) 01:06
こんばんは、いつもお世話になっております。
よろしくおねがいします。
キーボードから入力された0から5までの整数値を受け取り処理を行いたいです。
はじめは、scanf関数で受け取っていましたが、これでは誤って文字入力がなされたときに無限ループになってしまいました。
そこで、getsやgetcharなどの関数を使って例外処理を行おうと思ったのですが、なかなかうまくいきません。
とりあえず、0から9までの整数値と、一文字の文字が入力されるかもしれないと考えて、例外処理を作成したいです。
思いついたのは、gets関数で一文字読み込み、atoi関数で整数値に変換する方法でしたが、atoi関数に文字を入れると0が返るので、整数値の0と被ってしまいます。
他によい方法はないでしょうか。
どなたか詳しい方がおられましたら、ご教示お願いします。
よろしくおねがいします。
キーボードから入力された0から5までの整数値を受け取り処理を行いたいです。
はじめは、scanf関数で受け取っていましたが、これでは誤って文字入力がなされたときに無限ループになってしまいました。
そこで、getsやgetcharなどの関数を使って例外処理を行おうと思ったのですが、なかなかうまくいきません。
とりあえず、0から9までの整数値と、一文字の文字が入力されるかもしれないと考えて、例外処理を作成したいです。
思いついたのは、gets関数で一文字読み込み、atoi関数で整数値に変換する方法でしたが、atoi関数に文字を入れると0が返るので、整数値の0と被ってしまいます。
他によい方法はないでしょうか。
どなたか詳しい方がおられましたら、ご教示お願いします。