Откройте родной ifstream с файловым дескриптором - PullRequest
0 голосов
/ 10 октября 2019

Я не могу найти способ передать дескриптор файла в ifstream или как открыть ifstream с дескриптором файла. Как я могу это сделать?

РЕДАКТИРОВАТЬ: Я нашел эту реализацию .

Но это дает мне не такие же результаты, как ifstream, может кто-нибудь помочь мне, пожалуйста?

Вот тестовый код. Чтобы избежать проблем, я проверяю его в личной папке, таким образом я избегаю ограничений файла:

----- ifstream -----

Bit8u buf[2048];
ifstream in("/storage/emulated/0/Android/data/xxxx.xxxx/files/testfile.png");
in.seekg(100, ios::beg);
in.read((char*)buf, 2048);

----- fdistream-----

Bit8u buf[2048];
int fd = fileno(fopen("/storage/emulated/0/Android/data/xxxx.xxxx/files/testfile.png", "rb"));
fdistream in(fd);
in.seekg(100, ios::beg);
in.read((char*)buf, 2048);
...