• 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.

VPS Starter Arubacloud
+2 głosów
321 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,405 wizyt
pytanie zadane 29 sierpnia 2017 w C i C++ przez Mithriandil Początkujący (250 p.)
0 głosów
1 odpowiedź 781 wizyt
0 głosów
2 odpowiedzi 266 wizyt
pytanie zadane 25 stycznia 2017 w C i C++ przez Akiro Bywalec (2,910 p.)

93,004 zapytań

141,969 odpowiedzi

321,248 komentarzy

62,340 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

Wprowadzenie do ITsec, tom 2

Można już zamawiać tom 2 książki "Wprowadzenie do bezpieczeństwa IT" - będzie to około 650 stron wiedzy o ITsec (17 rozdziałów, 14 autorów, kolorowy druk).

Planowana premiera: 30.09.2024, zaś planowana wysyłka nastąpi w drugim tygodniu października 2024.

Warto preorderować, tym bardziej, iż mamy dla Was kod: pasja (użyjcie go w koszyku), dzięki któremu uzyskamy dodatkowe 15% zniżki! Dziękujemy zaprzyjaźnionej ekipie Sekuraka za kod dla naszej Społeczności!

...