Разница между кодом C ++ и кодом Python для чтения / dev / fb0 linux ubuntu16.4 - PullRequest
0 голосов
/ 07 октября 2018

Я пытаюсь преобразовать некоторый код C ++ в python для моего проекта.но я не получаю одинаковый вывод из обоих кодов.

, поэтому код c ++ равен

 int fd_frbuf;
 fd_frbuf = open("/dev/fb0", O_RDWR|O_SYNC);
 printf("%d\n", fd_frbuf); 
 if (fd_frbuf < 1) {
     printf("Invalid fb0 device file\n");
 }

, вывод равен 3.

, а мой код Python

 fd_frbuf = open("/dev/fb0", "r+b")
 print(fd_frbuf.read())

вывод - ничто, поэтому моя проверка на fb0 доступна или нет, если "< 1" всегда ложно.

Я пытался,

  1. fd_frbuf =  os.open("/dev/fb1", os.O_RDWR|os.O_SYNC)
    print(os.read(fd_frbuf, 1)
    
  2. пытался печатать по-другому,

    print(struct.unpack('i', fd_frbuf.read(4))[0])
    
    print(np.fromfile(fd_frbuf, dtype=np.uint32))
    

как я могу прочитать этот файл, чтобы получить тот же вывод, что и c ++?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...