Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "WinAPI";
Текущий архив: 2005.01.23;
Скачать: [xml.tar.bz2];

Вниз

Работа с файлами с помощью ф-ций _lopen и _lread.   Найти похожие ветки 

 
Makuha   (2004-12-06 14:10) [0]

Привет всем!

Стоит задача: в некотором файле большого размера (около 1 Gb) найти данные, которые повторяются. Работал с функцией ReadBlock и читал данные в цикле до конца файла. Считаный блок обрабатывал сам (что и дальше собираюсь делать). Скорость не удовлетворяет. Блок считаных данных составляет 64к. А хотелось бы считать больше.
Подскажите, как с помощью ф-ций _lopen и _lread открыть и читать данные из файла. Не могу разобраться, как это правильно делать.
В HELP нашел вот такое описание,

HFILE _lopen(
   LPCSTR lpPathName, // pointer to name of file to open
   int iReadWrite  // file access mode
  );
UINT _lread(
   HFILE hFile, // handle to file
   LPVOID lpBuffer, // pointer to buffer for read data
   UINT uBytes  // length, in bytes, of data buffer
  );
а как правильно реализовать - не знаю. Буду благодарен за кусок исходника с описанием.
Ответы можно присылать на e-mail: mvalera@ua.fm и на форум.

С ув., Makuha.


 
Poirot ©   (2004-12-06 17:18) [1]

Я сомниваюсь что можно получить прирост от использования подобных средств.. Например можно же и через WinAPI (CreateFile(), ... , Mapped files, etc), и посмотреть алгоритм поиска. боюсь что он наиболее слабое по скорости место в данном случае.
А уж по теме - MSDN И там пример помоему есть:)


 
Fay ©   (2004-12-06 19:58) [2]

Правильно - это никак. Смотри CreateFile/ReadFile/SetFilePointer/ReadFile/WriteFile и т.д.

_lopen
The _lopen function opens an existing file and sets the file pointer to the beginning of the file.

Note  This function is provided only for compatibility with 16-bit versions of Windows. New applications should use the CreateFile function.



Страницы: 1 вся ветка

Форум: "WinAPI";
Текущий архив: 2005.01.23;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.037 c
14-1104493741
Кудесник
2004-12-31 14:49
2005.01.23
Вот почему "С лёгким паром" показывают каждый год...


14-1105121864
Vaitek
2005-01-07 21:17
2005.01.23
Достало это караоке!!!!!!!!


1-1105101089
Avi
2005-01-07 15:31
2005.01.23
Клавиатурный шпион1


4-1102426223
Diaskhan
2004-12-07 16:30
2005.01.23
Как посредством winapi в Delphi создать SysListView32 ?


4-1101974919
Андрюша
2004-12-02 11:08
2005.01.23
Как можно отловить системные клавиши?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский