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 Sokolov Viacheslav

Type: ожидается проверкаожидаются исправления

Работа выполнена отлично.

Нужно поправить на допбалл:
fprintf / fwrite / fputc может не получиться, если на файловой системе место кончилось (в данном случае assert - плохая идея, это вполне ожидаемая ситуация).
Нужно как-нибудь специфицировать поведение программы в таком случае - как минимум сообщать об этом с помощью кода возврата. Для этого стоит либо поменять сигнатуру apply (протащить возможность рапортовать ошибку), либо использовать exit. Кроме того, стоит решить, что делать с частично записанными данными - либо оставить, как есть, либо удалить файл целиком, либо оставить только успешно записанные точки, но в любом случае поведение должно быть донесено до конечного пользователя утилиты либо комментарием в main, либо с помощью --help.

comment:2 Changed 5 years ago by Solovyev Gleb

Type: ожидаются исправленияожидается проверка
Version: 1.02.0

Ошибку недостатка памяти под запись обработал.
Apply и все методы ею используемые теперь при необходимости умеют возвращать код завершения.

Также добавил удаление недописанного файла и соответствующие комментарии.

comment:3 Changed 4 years ago by Sokolov Viacheslav

Resolution: задача сдана
Status: assignedclosed

Стоило бы избежать дублирования кода в реализациях 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.

Note: See TracTickets for help on using tickets.