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

question-closed C++, biblioteka cctype, isalnum

0 głosów
432 wizyt
pytanie zadane 31 lipca 2017 w C i C++ przez advertajment Nowicjusz (160 p.)
zamknięte 1 sierpnia 2017 przez draghan

Witam!

Korzystam z funkcji isalnum, chcę wykorzystać ją do sprawdzenia czy dana część stringa jest literą, robię to w ten sposób

if(isalnum(napis[c]))

no i w ten sposób działa, tylko że w tym momencie sprawdza mi czy dany znak jest literą, a gdy chcę zaprzeczyć temu, sprawdzić czy nie jest literą i cyfrą w ten sposób:

if(!isalnum(napis[c]))

to dostaję błąd, 'std_out_of_range...'. Precyzując potrzebuję  sprawdzić czy dany znak jest literą lub cyfrą, a jeżeli nie jest to przejść dalej. Co może być przyczyną tego błędu?

Pozdrawiam.

komentarz zamknięcia: Rozwiązane
komentarz 31 lipca 2017 przez niezalogowany
Podaj cały kod. Wyjątek std::out_of_range występuje gdy wyszedłeś z zakresu tablicy.

EDIT: Temat do zamknięcia ;)

2 odpowiedzi

0 głosów
odpowiedź 31 lipca 2017 przez advertajment Nowicjusz (160 p.)
Problem rozwiązany. Był to mój błąd w składni, użyłem pętli while, zamiast for i sprawdzany był zły znak po każdym obrocie pętli. Pozdrawiam.
0 głosów
odpowiedź 31 lipca 2017 przez bartolinciu Dyskutant (7,580 p.)
Problemem może być to, że funkcja isalnum zwraca int a nie bool. Spróbuj zrzutować wynik na typ bool i dopiero później go zanegować.

Podobne pytania

0 głosów
1 odpowiedź 1,269 wizyt
pytanie zadane 4 marca 2018 w C i C++ przez urbix01 Gaduła (3,290 p.)
+1 głos
2 odpowiedzi 1,094 wizyt
0 głosów
3 odpowiedzi 470 wizyt
pytanie zadane 25 stycznia 2020 w C i C++ przez Flyin Początkujący (310 p.)

93,599 zapytań

142,524 odpowiedzi

322,993 komentarzy

63,082 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

Kursy INF.02 i INF.03
...