Aktywne Wpisy
Itslilianka +738
Jakiś czas temu ta jak #rozowepaski zacząłem robić ankiety po randkach z tindera xD Beka jak to się teraz czyta po takim czasie xD #zwiazki #randkujzwykopem
mAgnes91 +465
Mirki, musze się wygadać. Mieszkam w Polsce B gdzie o pracę ciężko dlatego też jest tutaj duzo #januszbiznesu. Z dniem 1.03 zostalam zatrudniona w nowo powstalym sklepie odzieżowym z dotacji z urzedu pracy (tzw prace interwencyjne) Oprócz mnie na tych samych zasadach zatrudnione były 2 dziewczyny + 2 stażystki. Przed otwarciem sklepu oczywiście rozkładanie towaru, mycie okien itd na tzw czarno. Z początku wszystko wydawało się w miarę ok aż do
Aktywne Znaleziska
Zawiera treści 18+
Ta treść została oznaczona jako materiał kontrowersyjny lub dla dorosłych.
Mam scanf("%d",&liczba)
Jak zrobić, by po wprowadzeniu na przykład litery program się nie wysypywał?
#programowanie
Pamiętaj tylko, że jest to potencjalnie niebezpieczne - buffer overflow gdy zaalokowany string jest zbyt krótki. Ale da się przed tym zabezpieczyć:
https://stackoverflow.com/questions/1621394/how-to-prevent-scanf-causing-a-buffer-overflow-in-c
https://en.cppreference.com/w/c/io/gets
Nie ma możliwości automatycznego wczytania dowolnej treści i konwersji, tej musisz dokonać sam. Jeśli próbujesz zbudować system do parsowania argumentów, to warto użyć biblioteki do tego, np. getopt:
https://www.gnu.org/software/libc/manual/html_node/Getopt.html
scanf("%s", string);
w = sscanf(tab, "%d", &liczba);
if (w == 1) printf("liczba");
A takie rozwiązanie? Jedynie przy podaniu np 111c działa nie tak, jakbym chciał
@gzypol: Nie działa. ponieważ sscanf nie służy do konwersji, dlatego akceptuje także niepoprawny strumień danych.