Отличный результат от функции read () при записи в int или char

я использую read() от unistd.h на дескриптор файла. Мне нужно прочитать первые 4 байта int переменная и остальное в unsigned char массив.

Пока что это не работает для получения первых 4 байтов:

unsigned int myInt = 0;
status = read (fd, &myInt, sizeof(myInt);

read() возвращает -1 и myInt остается 0.

однако чтение в буфер символов работает:

char buf[512];
status = read (fd, buf, sizeof(buf);

read() правильно возвращает то, что находится в fd,

Я проверил, unsinged int четыре байта на моей цели.

Что я здесь не вижу?

РЕДАКТИРОВАТЬ: errno является Сломанная труба.
Это не обычный файл, из которого я читаю, а дескриптор файла, созданный gadgetfs для получения данных и отправки данных на USB.

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]