Совершенно нормально, что read()
возвращает нулевой счет, это просто означает, что он столкнулся с концом файла. Если он возвращает значение меньше нуля, это ошибка.
Если возвращается -1, следует установить errno
, который сообщит вам, что пошло не так.
Ваш файл содержит что-нибудь? Поскольку вы упомянули UNIX-подобные разрешения, вам может пригодиться спецификация POSIX для read () .