C言語なら俺に聞け! Part 107
■ このスレッドは過去ログ倉庫に格納されています
0780デフォルトの名無しさん
2005/05/29(日) 01:58:47fgetsで指定した範囲を超える部分が、2回目に呼び出したfgetsに強制的に渡されてしまいます。
文字列str1を調べて、改行コードが削られた場合に、文字が多すぎると判断することにして、
whileループでやり直すようにしてみたのですが、実行したところ、
溢れた文字列を、while文中のfgetsに渡してしまい、一回目の入力をやり直すことが出来ませんでした。
str1[]の要素数を大きくする以外に、何か対策は無いでしょうか。
char str1[8],str2[8];
printf("1回目の入力です。\n半角で7文字以上入力すると、2回目の入力が出来ません。\n");
fgets(str1,8,stdin);
printf("%s",str1);
printf("2回目の入力です。\n");
fgets(str2,8,stdin);
printf("%s",str2);
■ このスレッドは過去ログ倉庫に格納されています