Niebezpieczeństwa związane z użyciem% * c do wyczyszczenia bufora scanf
Czy istnieją zagrożenia związane z użyciem% * c w scanf (), aby wyczyścić bufor w razie potrzeby.
Na przykład:
char c;
for (int i = 0; i < 5; i++) {
scanf("%c%*c", &c);
}
Lub
char* str;
char c;
int i;
scanf("%s", str);
scanf("%d%*c", &i);
scanf("%c%*c", &c);
Czy należy się martwić o przepełnienie bufora lub inne problemy z bezpieczeństwem? Wydaje się, że nie ma formalnej dokumentacji użycia gwiazdki w scanf w ten sposób dla C (EDYTOWAĆ To nie jest prawda), więc mam problem z ustaleniem, co dokładnie dzieje się z wprowadzanymi dodatkowymi znakami. Czy jest lepszy sposób na wyczyszczenie bufora scanf w C?