История изменений
Исправление Ivan_qrt, (текущая версия) :
поменять -1 допустим на 0, то как узнать что 0 будет 0 ,а не -1?
Заводишь экранирующий символ. Например, 33. Если при считывании ты встречаешь 33, то следующий после него символ - экранированный. Если после него идёт, например, 1 - то это была экранированная -1. Если после него была, например, 2 - то это было экранированное 33. Если 3 - то ещё какой-нибудь управляющий символ. Если была 5, и ей не соответствует никакого экранированного значения - то ошибка чтения. Файл был неверно сериализован. Значения могут быть любыми, на твой вкус. 0 - плохая идея.
Исходная версия Ivan_qrt, :
поменять -1 допустим на 0, то как узнать что 0 будет 0 ,а не -1?
Заводишь экранирующий символ. Например, 33. Если при считывании ты встречаешь 155, то следующий после него символ - экранированный. Если после него идёт, например, 1 - то это была экранированная -1. Если после него была, например, 2 - то это было экранированное 33. Если 3 - то ещё какой-нибудь управляющий символ. Если была 5, и ей не соответствует никакого экранированного значения - то ошибка чтения. Файл был неверно сериализован. Значения могут быть любыми, на твой вкус. 0 - плохая идея.