Вот мой код для перегрузки оператора>>. Предполагается доводить числа до точки с запятой и помещать их в bigint.
std::istream& operator>>(std::istream& is, bigint& bi) {
int i = 0;
char ch;
char temp[SIZE];
// grabs the first character in the file
is >> ch;
temp[i] = ch;
++i;
// while loop grabs the rest of the characters
// up to the semicolon
while(ch != ';') {
is >> ch;
temp[i] = ch;
++i;
}
// temp is stored in the bigint ref
bi = bigint(temp);
return is;
}
Проблема, с которой я сталкиваюсь, заключается в том, что когда я запускаю ее, она дает мне дополнительный вывод. Например: когда я набираю "34;" в качестве входных данных результирующий bigint будет "3411". Может ли кто-нибудь сказать мне, что я делаю неправильно?