witam, jak w temacie mam pytanie jak poprawnie zabezpieczyc program, żeby dane wejsciowe były poprawne (gdy zmienna jest int to użytkownik nie powinien podac jakiś liter itp.) chodzi mi też o zabezpieczenie które działa nie tylko na pierwszą literke ale na kolejne także (znalezione przeze mnie metody zablokują wersje dafsa2123, a w wersji 12124dfsas nie wykryje bledu.
0
1
#include <stdio.h>
int user_is_stupid(int *number) {
char ch;
if(scanf("%d%c",number,&ch) != 2 || ch != '\n')
return 1;
return 0;
}
int main(void) {
int n = -1;
if(user_is_stupid(&n))
printf("hmm..a patrz jak wpisujesz moze co?\n");
printf("%d\n",n);
return 0;
}
ae to głupie i da się lepiej :P . ale polecałabym Ci bardziej optymistycznie zakładać, że użytkownik nie jest debilem. trudno pisać całkowicie idioto-odporne aplikacje.