#186 closed ожидается проверка (задача сдана)
WW_c_io sysoev.sergej
Reported by: | Sergey Sysoev | Owned by: | Дмитрий Лапшин (lapshin) |
---|---|---|---|
Component: | WW_c_io | Version: | |
Keywords: | Cc: |
Description
Change History (7)
comment:1 Changed 3 years ago by
Owner: | changed from Дмитрий Лапшин (lapshin) to Sergey Sysoev |
---|---|
Type: | ожидается проверка → ожидаются исправления |
comment:2 Changed 3 years ago by
Хотя подожди. Как union
поможет с конвертацией числа? Да, ты так прочитаешь байты обязательно положив их в порядке слева направо, но в этом плане ровно также работает fread
/fwrite
на всё число: если в памяти оно было Big Endian тебя ждёт печаль.
comment:3 Changed 3 years ago by
Owner: | changed from Sergey Sysoev to Дмитрий Лапшин (lapshin) |
---|---|
Type: | ожидаются исправления → ожидается проверка |
Не нашёл где у меня нарушен формат вывода...
Про union я нагуглил и забыл про endianness, хотел решить это макросами(по разному задефайнить union в зависимости от платформы), но потом нагуглил сколько существует endian'ов и решил сделать через ntohl/htonl. Он мультиплатформенный, но если не подходит, его можно заменить кучей битовых сдвигов.
static'и расставил.
С фиктивным значением поступил так, как вы посоветовали на практике.
255 заменил на UINT8_MAX.
comment:4 Changed 3 years ago by
Owner: | changed from Дмитрий Лапшин (lapshin) to Sergey Sysoev |
---|---|
Type: | ожидается проверка → ожидаются исправления |
Формат вывода на экран всё ещё слегка лажает. Видимо ещё с бонусом перестарался, там что-то не так и ломается. И валгринд орёт. Оч плохо.
#ifdef _WIN32 #include <winsock.h> #else #include <arpa/inet.h> #endif
У тебя нет случаем родственника по имени Игорь?) Я зачту такой способ конвертации, хотя он крайне забавен.
comment:5 Changed 3 years ago by
Owner: | changed from Sergey Sysoev to Дмитрий Лапшин (lapshin) |
---|---|
Type: | ожидаются исправления → ожидается проверка |
Я ещё раз перерыл все места, где я вывожу на экран и не нашёл где я могу нарушать формат вывода.
Даже при отсутствии точек он просто выводит пустую строку и перевод строки.
С бонусом я наигрался и переписал теперь нормально. Valgrind орать перестал.
А про Игоря я не понял...
comment:6 Changed 3 years ago by
Resolution: | → задача сдана |
---|---|
Status: | assigned → closed |
Раз не понял то прости меня, просто есть весьма успешный сетевой программист—администратор Игорь Сысоев, а я смотрю тебя тоже в сетевой код занесло.
У меня в чекере была бага. 12.
comment:7 Changed 3 years ago by
А, это про создателя nginx?)
Не, не родственники. Я просто искал какой-нибудь дурацкий мультиплатформенный способ не писать 4 строчки и нашёл его в сетевой библиотеке
Слегка нарушен формат вывода.
Всё-таки ты более прокаченный человек, раз сделал через
union
. Только зачем эта структура в заголовочном файле? Кстати гдеstatic
?Мне не очень нравится тут фиктивное значение в качестве результата чтения. Хотелось бы ещё константы про байт использовать.
А так хорошо, 8/10 плюс будет бонус.