Запись/Дополнение файлов!

Тема в разделе "WASM.WIN32", создана пользователем pikador, 12 апр 2007.

  1. pikador

    pikador New Member

    Публикаций:
    0
    Регистрация:
    2 апр 2007
    Сообщения:
    101
    Киньте у кого есть кусок кода(asm) работы с файлами, плз....
    1. А именно интересует чтение и запись через CreateFile().
    2. И возможно сразу вставить в файл опр.строчку без чтения всего файла и его же записи?
    (файлы могут быть несколько-гигабайтными)
     
  2. MSoft

    MSoft New Member

    Публикаций:
    0
    Регистрация:
    16 дек 2006
    Сообщения:
    2.854
    1) SetFilePointer, WriteFile. Эти функции работают с хэндлом файла. Его-то и возвращает CreateFile.

    2) не уверен, шо такое возможно
     
  3. wasm_test

    wasm_test wasm test user

    Публикаций:
    0
    Регистрация:
    24 ноя 2006
    Сообщения:
    5.582
    придется прочитать хвост файла, записать строчку и дописать хвост. иначе никак

    а че тут такого... ReadFile / WriteFile с использованием структуры OVERLAPPED (последний параметр)
     
  4. keYMax

    keYMax New Member

    Публикаций:
    0
    Регистрация:
    2 июл 2003
    Сообщения:
    276
    Адрес:
    Новоуральск
    CreateFile, затем SetFilePointer, потом WriteFile и CloseFile
     
  5. pikador

    pikador New Member

    Публикаций:
    0
    Регистрация:
    2 апр 2007
    Сообщения:
    101
    Ок, спасиб, будем писать))
     
  6. Freeman

    Freeman New Member

    Публикаций:
    0
    Регистрация:
    10 фев 2005
    Сообщения:
    1.385
    Адрес:
    Ukraine
    подобная тема недавно возникала. при несколько гиговых файлах довольно накладно читать хвост, потом сноваего записывать. лучше просто сделать в отдельном файле хранение смещений строк и при удалении просто удалять смещение соответствующее определенной строке... паралельно можно сосдать "дефрагментатор", который запускать иногда для того чтобы убрать удоленные строки непосредственно из файла со строками, используя инфу из файла со смещениями