Как прочитать переменное количество символов? Пользователь может ввести положительное или отрицательное число, которое слишком велико для хранения в виде целого числа. Затем я проверяю, является ли char числом, и сохраняю его в массиве целых чисел (хотя это, вероятно, будет изменено на короткое, так как мне нужно хранить только 0-9).
istream& operator>>(istream &in, LargeInt &l)
{
char x;
do
{
cin >> x;
int v = (int)x;
switch( v )
{
case 48: v = 0;
case 49: v = 1;
case 50: v = 2;
case 51: v = 3;
case 52: v = 4;
case 53: v = 5;
case 54: v = 6;
case 55: v = 7;
case 56: v = 8;
case 57: v = 9;
default: v=10 /* END INPUT */;
}
l.largeInt[ l.usedLength ] = v;
l.usedLength++;
//need to check array length and make bigger if needed
}
while( (x == 45) || ((x > 47) && (x < 57)) );
}