Функция InStream::unreadChar принимает как параметр
char и вызывает reader->unreadChar, принимающий int.
Поскольку тип char знаковый во многих
системах, происходит знаковое расширение с
непредсказуемыми последствиями, например,
код
char c = inf.nextChar();
inf.unreadChar(c);
assert(c == inf.readChar());
провалит assert для файла с русской буквой я в
windows 1251.
Original issue reported on code.google.com by drozdovk...@gmail.com on 6 Apr 2014 at 3:23
Original issue reported on code.google.com by
drozdovk...@gmail.com
on 6 Apr 2014 at 3:23