07/09/13 09:13:16
特定の範囲の整数(例えば1~10000)だけを入力させたいのですが、
fgets()使用時に桁溢れを完全に抑止することは可能ですか?
char *buf[10];
unsigned int value;
while(1)
{
fgets(buf, 10, stdin);
~isdigit()とかで数値のみかを判定して、atoi()でvalueに格納してbreak~
}
fprintf(stdout, "%u\n", value);
こんな感じで書いてるんですが、わざと入力を10桁以上にしたときに入力バッファに残ってしまってうまくいきません。
何かイイ方法あるでしょうか?(fflush(stdin)は無しで)