Opened 5 years ago
Closed 4 years ago
#412 closed ожидается проверка (задача сдана)
WW #5
Reported by: | Solovyev Gleb | Owned by: | Sokolov Viacheslav |
---|---|---|---|
Component: | WW_c_io | Version: | 2.0 |
Keywords: | Cc: |
Description
Change History (3)
comment:1 Changed 5 years ago by
Type: | ожидается проверка → ожидаются исправления |
---|
comment:2 Changed 5 years ago by
Type: | ожидаются исправления → ожидается проверка |
---|---|
Version: | 1.0 → 2.0 |
Ошибку недостатка памяти под запись обработал.
Apply и все методы ею используемые теперь при необходимости умеют возвращать код завершения.
Также добавил удаление недописанного файла и соответствующие комментарии.
comment:3 Changed 4 years ago by
Resolution: | → задача сдана |
---|---|
Status: | assigned → closed |
Стоило бы избежать дублирования кода в реализациях savetext и savebin.
В save_point_to_txt можно было бы проще проверить наличие ошибки:
описание возвращаемого значения fprintf:
number of characters transmitted to the output stream or negative value if an output error, a runtime constrants violation error, or an encoding error occurred.
count_digits неправильно работает для 0, поэтому на самом деле программа не сможет сохранить в текстовом формате данные с одной из координат 0.
Работа выполнена отлично.
Нужно поправить на допбалл:
fprintf / fwrite / fputc может не получиться, если на файловой системе место кончилось (в данном случае assert - плохая идея, это вполне ожидаемая ситуация).
Нужно как-нибудь специфицировать поведение программы в таком случае - как минимум сообщать об этом с помощью кода возврата. Для этого стоит либо поменять сигнатуру apply (протащить возможность рапортовать ошибку), либо использовать exit. Кроме того, стоит решить, что делать с частично записанными данными - либо оставить, как есть, либо удалить файл целиком, либо оставить только успешно записанные точки, но в любом случае поведение должно быть донесено до конечного пользователя утилиты либо комментарием в main, либо с помощью --help.