Эквивалент pread / pwrite в MSVC? - PullRequest
3 голосов
/ 04 октября 2010

Какие вызовы лучше всего подражают pread / pwrite в MSVC 10?

Ответы [ 2 ]

3 голосов
/ 04 октября 2010

На уровне библиотеки времени выполнения C посмотрите fread , fwrite и fseek .

На уровне Win32 API взгляните на ReadFile , WriteFile и SetFilePointer . MSDN имеет широкий охват API для файлового ввода-вывода .

Обратите внимание, что ReadFile и WriteFile принимают аргумент структуры OVERLAPPED , который позволяет указать смещение файла. Смещение учитывается для всех файлов, которые поддерживают смещения байтов, даже если они открыты для синхронного (т.е. не перекрывающегося) ввода-вывода.

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

1 голос
/ 31 августа 2013

Похоже, вы просто используете параметр lpOverlapped для ReadFile / WriteFile для передачи указателяв структуру OVERLAPPED со смещением, указанным в Offset и OffsetHigh .

(Примечание.фактически получить перекрывающийся ввод-вывод, если дескриптор не был открыт с помощью FILE_FLAG_OVERLAPPED .)

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