【ISO/ANSI/JIS】 C言語なら俺に聞け! Part 131
at TECH
[
2ch
|
▼Menu
]
■コピペモード
□
スレを通常表示
□
オプションモード
□このスレッドのURL
■項目テキスト
950:デフォルトの名無しさん 07/09/13 12:33:40 もっといい方法あるのかもしれないけど、こんなんでどうかな int get_unsigned(unsigned *v) { char buf[16]; char *p; int c; if (fgets(buf, sizeof buf, stdin) == NULL) return EOF; if (strchr(buf, '\n') == NULL) while ((c = fgetc(stdin)) != '\n' && c != EOF) {} *v = strtoul(buf, &p, 10); return *p; } int main(void) { unsigned val; int end; while (printf(">>"), (end = get_unsigned(&val)) != EOF) { if (end == '\0' || isdigit(end)) printf("W:入力が切り捨てられました.\n"); else if (end != '\n') printf("W:不正文字がありました. '%c'\n", end); if (val < 1 || 10000 < val) printf("W:入力範囲外です.\n"); printf("<<%u\n", val); } return 0; }
次ページ
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
レスジャンプ
mixiチェック!
Twitterに投稿
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch
5387日前に更新/213 KB
担当:undef