I want to get a string of numbers one by one, so I’m using a while loop
with cin.get() as the function that gets my digits one by one.
But cin.get() gets the digits as chars and even though I’m trying to use
casting I can’t get my variables to contain the numrical value and not the ascii value
of the numbers I get as an input.
cin.getcan’t parse numbers. You could do it manually – but why bother re-implementing this function, since it already exists?*In general, the stream operators (
<<and>>) take care of formatted output and input,istream::geton the other hand extracts raw characters only.* Of course, if you have to re-implement this functionality, there’s nothing for it.
To get the numeric value from a digit character, you can exploit that the character codes of the decimal digits 0–9 are consecutive. So the following function can covert them: