必要に応じて %*c を scanf() で使用してバッファをクリアすることに危険はありますか。
例えば:
char c;
for (int i = 0; i < 5; i++) {
scanf("%c%*c", &c);
}
または
char* str;
char c;
int i;
scanf("%s", str);
scanf("%d%*c", &i);
scanf("%c%*c", &c);
バッファ オーバーフローやその他のセキュリティ上の問題を懸念する必要がありますか? このように C に対して scanf でアスタリスクを使用することに関する正式なドキュメントはないようです ( EDIT This is not true) ため、入力された余分な文字がどうなるかを正確に把握するのに苦労しています。Cでscanfバッファをクリアするより良い方法はありますか?