jak sprawdzić, czy string jest liczbą?

0

Hej, ucze się ONP. Na razie natknąłem się na taki problem. Otóż chcę póki co wczytać stringa np.

23 5 + 1 23 * -

rozdzielam go sobie na "słowa" kodem

getline(cin, wiersz);
	
istringstream iss(wiersz);
string slowo;
while (iss >> slowo)
	cout << slowo << endl; //	coś robię z tymi słowami... na razie tylko wyświetlam ;)

i otrzymuję

23
5
+
1
23
*
-

i nie wiem jak sprawdzić, że dane słowo jest liczbą, bo jeśli jest chcę go wrzucić na stos itp. Ale nie umiem sobie poradzić, ze sprawdzeniem czy jest liczbą. Wiem, że gdy mamy zmienne typu char to korzystamy z funkcji isdigit, ale tutaj nie mam char tylko string :/

0
int liczba;
string znak;

if (iss >> liczba) {
    // hura mamy liczbę
} else {
    iss.clear();
    iss >> znak;
    // mamy jakis znak
}
0

Dzięki wielkie :-)

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