人生最悪の忘れ物

最近C言語の勉強を始めたのですが、
C言語で、整数だけの入力を許可してそれ以外(文字等)が入力された場合は整数を入力して下さいというメッセージにとばすプログラムを作りたいのですがどうも作り方が良く分からず困っています、いったいどのように作れば良いでしょうか??
宜しくお願いいたします!

A 回答 (2件)

int ans;


char str[256],*p;
(略)
ans=(int)strtol(str,&p,10);
if (*p != '\0') {
エラー
}

「123」「-456」「0」はOK
「abc」「123abc」「abc123」はNG
    • good
    • 0
この回答へのお礼

お答え有難うございます!
なるほどstrtol関数を使えば良いんですね!

以外と整数だけの入力を許可してそれ以外はエラーに飛ばすという処理は難しいものですね、文字列を整数に変換したりするのは同じ関数でも簡単に扱えるのですが、整数のみ許可するという処理がいくら考えても分からなかったものでとても参考になりました。
有難うございます^^

お礼日時:2004/02/02 17:45

整数以外が入力された場合「飛ばす」とありますが、


それよりも「整数が入力されない限り繰り返す」
という処理を行った方がいいかも知れませんが。。。
    • good
    • 0
この回答へのお礼

有難うございます!
では、
>>「整数が入力されない限り繰り返す」
場合の処理はどのようにすれば宜しいのでしょうか??

お礼日時:2004/02/02 17:46

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


おすすめ情報