• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Całkowita kontrola błędów wejścia.

Object Storage Arubacloud
+2 głosów
300 wizyt
pytanie zadane 18 czerwca 2016 w C i C++ przez Sinnley Stary wyjadacz (12,810 p.)
Witam, ostatnio natrafiłem na potrzebe obsłużenia kompletnej kontroli błędów wejścia, konkretnie chodzi o to, żeby do zmiennej móc zapisać tylko to co do niej należy, a każdy inny przypadek wyrzucać.

Czyli od podstawowych faktów takich jak to, że do inta nie można zapisać literki, do takich, żeby wywalało nawet jak po części wpiszemy dobrze, czyli np :123abca, albo 1.55.

Funkcje takie jak cin.fail(), albo cin.good() działają tylko w tych podstawowych problemach, znajdę coś, co poradzi sobie z tym w całości?

Oczywiście wpadłem na pomysł, żeby zapisać wszystko do stringa i tam już na tym operować, a potem za pomocą atoi np. zapisać to do zmiennej, ale mimo to wydaje mi się, że to nie jest najprostsze i najoptymalniejsze rozwiązanie.

Znajdę gdzieś funkcje, która będzie dokonywała takiej selekcji z najwyższą surowością?

1 odpowiedź

+1 głos
odpowiedź 18 czerwca 2016 przez CzikaCarry Szeryf (75,340 p.)
wybrane 19 czerwca 2016 przez Sinnley
 
Najlepsza
Możesz to zrobić regexami:

http://www.cplusplus.com/reference/regex/
komentarz 18 czerwca 2016 przez Sinnley Stary wyjadacz (12,810 p.)
W jaki sposób? Czytam to i troche nie łapię.
komentarz 19 czerwca 2016 przez CzikaCarry Szeryf (75,340 p.)
Regexy (wyrażenia regularne) mogą służyć do sprawdzania zawartości zmiennej dzięki specjalnemu kodowi. Można napisać wzorzec do czego się tak naprawdę chce (e-mail, kod pocztowy, adres IP, whatever you want). Wszystko zależy od kreatywności twórcy. Regex do intów jest bardzo prosty ponieważ wystarczy tylko zadeklarować, że może używać znaków 0-9 i tak naprawdę koniec regexa. http://cpp0x.pl/artykuly/?id=47
komentarz 19 czerwca 2016 przez Sinnley Stary wyjadacz (12,810 p.)
OK, dzięki wielkie :)

Podobne pytania

0 głosów
1 odpowiedź 2,307 wizyt
pytanie zadane 29 sierpnia 2017 w C i C++ przez Mithriandil Początkujący (250 p.)
0 głosów
1 odpowiedź 663 wizyt
0 głosów
2 odpowiedzi 244 wizyt
pytanie zadane 25 stycznia 2017 w C i C++ przez Akiro Bywalec (2,910 p.)

92,584 zapytań

141,434 odpowiedzi

319,671 komentarzy

61,968 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...