vmukvane vuv file

4 отговора 241 прегледа
#1

vmukvane vuv file

Ima li burz nachin (pod Windows) da vmukna edi kolko si baita ot edi koq si poziciq vuv file? Ne stava vupros da se pishe nesto na nisko nivo (driver ili nesto drugo na ring 0).

Отговор
в отговор на ABC #2

Има

Изчиташ файла, почваш да го пишеш, там където искаш да вмъкнеш вмъкваш, дописваш го и готово.

Bеer? Moooorrre?
Отговор
в отговор на bira_more #3

Re: Има

Predvaritelno izcitane na faila ne e jelatelno, tuka stava vapros za failove s razmer nqkolko desetki do stotici megabaiti. Abe, zasega napravih slednoto. Celta e da vmukna sudurjanieto (cqloto) na fail A v opredelena poziciq vuv fail B. Purvo razshirqvam B, kato dobavqm sled kraq mu broi baitove, opredeleni ot razmera na A. Suzdavam file-mapping obekti za dvata faila, i samo s dve instrukcii sled tova sum gotov:
MoveMemory(...) - za da izmestq baitovete v B i osvobodq mqsto za vmukvane;
CopyMemory(...) - samoto vmukvane

Отговор
в отговор на ABC #4

виж ф-иите fopen(), fseek()...

putc() да речем на Борланд C.

има ги и в Майкрософкото С, в MSDN-a има готови Примери...

да не говорим в Гугъла кво става...

Отговор
в отговор на ABC #5

Re: Има

Ефекта от ползването на файл-мапинга ще е същия като това, дето ти го казва Бирата, т.е пак се стига до четене/презапис на голям брой байтове на ниско ниво. Обзалагам се, че дори е по-бавно. Ако правиш магарията заради спестяването на два реда, не си струва.

Отговор