Вобщем нужно написать программу сравенния очень больших файлов на чистом WinApi на C
файлы могут быть и больше 4 гигов
Вроде всё понятно НО немогу совершенно понять как использовать Mapping и View файла
точнее как организовать чтения определённой части файла
мне ведь надо сранить файлы и даже 10 Мб текста загружать уже много
речь идёт именно о больших файлах
буду рад принять маленький рабочий пример отрытия большго файла
Re: Использование Маппинга (Mapping) для больших файлов
AM>1 CreateFileMapping тоько весь файл замеппировать может или можно укзать только чать AM>если часть то как?
Функция CreateFileMapping() ничего не мапит, она лишь создаёт объект-секцию, которую затем можно мапить как захочется с помощью MapViewOfFile().
AM>2 MapViewOfFile немогу понять как в таком поблочном чтении задать 3 последних параметра
А это уже, знаешь ли, математика на уровне начальной школы, ни чем помочь не могу.
AM>3 параметры последнии эитх 2х фунций как я понял связаны только непоуму как
Н-да...
Re[3]: Использование Маппинга (Mapping) для больших файлов
Здравствуйте, AlexMarlo, Вы писали:
x64>>Не вижу проблем: AM>ну проблем нет в тории пока не начнёш писать
AM>1 CreateFileMapping тоько весь файл замеппировать может или можно укзать только чать AM>если часть то как?
AM>2 MapViewOfFile немогу понять как в таком поблочном чтении задать 3 последних параметра
AM>3 параметры последнии эитх 2х фунций как я понял связаны только непоуму как
Видимо, вам нужно посмотреть пример, который приводит Рихтер в своем труде, раздел "Обработка больших файлов". Основная идея — проецирование блоками в соответствии с гранулярностью выделения памяти. Там найдете ответы на ваши вопросы.
С уважением,
Евгений
Re: Использование Маппинга (Mapping) для больших файлов
Здравствуйте, AlexMarlo, Вы писали:
AM>мне ведь надо сранить файлы и даже 10 Мб текста загружать уже много AM>речь идёт именно о больших файлах AM>буду рад принять маленький рабочий пример отрытия большго файла
Для сравнения файлов маппинг не нужен.
Читаем в буферы подходящего размера, сравниваем и т.д.