Я пытаюсь использовать перегруженное ">>" для сканирования ввода из файла.
Проблема в том, что я понятия не имею, что делать с концом файла.
В этом случае мой файл состоит из числа, за которым следуют несколько символов
Ex:
9rl
8г
1011 * 6 и далее *
istream &operator>>(istream &is, Move &move)
{
char c;
int i = 0;
c = is.get();
if (!isalnum(c))
return;
move.setNum(c); // I convert the char to an int, but I'l edit it out
while ( (c = is.get()) != '\n')
{
move.setDirection(i, c); //sets character c into in array at index i
i++;
} // while chars are not newline
return is;
} // operator >>
Тест на символ, являющийся буквенно-цифровым символом, работал, когда у меня было это как обычная функция, но не работает здесь, поскольку он ожидает, что входной поток будет возвращен. Я также пытался вернуть NULL. Предложения?
РЕДАКТИРОВАТЬ: это вызывается в цикле while, поэтому я пытаюсь найти какой-то способ, чтобы у этого триггера был какой-то флаг, чтобы я мог выйти из цикла. В моей предыдущей функции это возвращало логическое значение, возвращая true в случае успеха или false, если символ не был буквенно-цифровым