>>>>> Anton Stratonnikov <bil...@yandex.ru> writes: >>>>> 19.03.2015 21:52, Ivan Shmakov пишет:
>>>> Нужна смотрелка для двоичных файлов. Чтобы пользователь мог >>>> задать (в граф. интерфейсе или в файле), мол первые 4 байта это >>>> ASCII текст, название поля — «имя», потом 2 байта это целое число, >>>> порядок байтов сетевой, название поля — возраст и т. д. и чтобы >>>> потом подсунуть этой утилите любой файл и она красиво вывела […] >> Во-вторых, для чтения чисел в машинном представлении в общем случае >> потребуется что-то вроде htons () и подобных, которые объявлены в >> netinet/in.h. (Предполагая little-endian; IOW, «это не то решение, >> которое вы ищете.») С другой стороны, учитывая явное упоминание «сетевого порядка» выше, — может быть уместно. > Не соглашусь. Тот же fgets читает нужное количество байт в указанное > место в памяти, fread (). Поскольку fgets () остановится на первом же байте со значением 10 (= \n.) Что еще хуже, fgets () не возвращает количество считанных из потока байт. > которое позднее можно прочитать как нужный тип данных. В общем случае, это не так просто. Например, если речь идет о числах «произвольной» разрядности — по типу DER/BER или MIDI. […] -- FSF associate member #7257 http://boycottsystemd.org/ … 3013 B6A0 230E 334A