vmukvane vuv file
4 отговора
241 прегледа
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).
Има
Изчиташ файла, почваш да го пишеш, там където искаш да вмъкнеш вмъкваш, дописваш го и готово.
Bеer? Moooorrre?
Bеer? Moooorrre?
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
MoveMemory(...) - za da izmestq baitovete v B i osvobodq mqsto za vmukvane;
CopyMemory(...) - samoto vmukvane
виж ф-иите fopen(), fseek()...
putc() да речем на Борланд C.
има ги и в Майкрософкото С, в MSDN-a има готови Примери...
да не говорим в Гугъла кво става...
има ги и в Майкрософкото С, в MSDN-a има готови Примери...
да не говорим в Гугъла кво става...
Re: Има
Ефекта от ползването на файл-мапинга ще е същия като това, дето ти го казва Бирата, т.е пак се стига до четене/презапис на голям брой байтове на ниско ниво. Обзалагам се, че дори е по-бавно. Ако правиш магарията заради спестяването на два реда, не си струва.