非常に簡単な例 - 簡単な解決策を期待: - 私はそれを強制する可能性のある簡単な方法があり、私は私のバイト限界より入力よりとき、それは「n」を印刷するように見えることはできませんC fgets - オーバーフローを捕らえる簡単な方法?
char x[7];
if(fgets(x,5,stdin))
printf("y");
else
printf("n");
またはそれを超えたときにキャッチする?
入力の例は、上記のスニペットで実際に「n」を引き起こしますか?私は本当に..
乾杯、 B
fgetsには引数としてバッファサイズ(7)が必要であり、改行文字とヌル文字のスペースがあるサイズではなく、subtracted(5)であることに注意してください。 –
ええ、目的に合っていないということを強調するためにこれをしました –
この質問はさまざまな形でここに何百回も尋ねられ、答えはマニュアルページに/ – AoeAoe