zabezpieczanie przed wprowadzeniem niepoprawnych danych

0

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.

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.

1 użytkowników online, w tym zalogowanych: 0, gości: 1