Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: C: tiedoston `katkaisu'

bob [16.11.2004 17:31:17]

#

mikähän lienee paras ratkaisu ns. katkaista tiedosto halutusta kohden;
ts. pitäisi pystyä poistamaan osa tiedoston lopusta

tietenkin vanha kikka tiedoston uudelleenkirjoitus toimii mainiosti,
mutta tiedostojen ollessa paikoin valtavia tämä haaskaa sekä tilaa että
erityisesti aikaa

joskus dos-aikana tämä oli mahdollista `lseek' hommalla tietyin
parametrein

kielenä olisi ANSI C ja käyttöjärjestelmä ei tiedossa eli siis jotain
universaaliratkaisua kaipaisin (siis ei winapi tms. kikkoja)

thefox [18.11.2004 14:46:10]

#

Mahtaakohan tuollainen ANSI C:llä onnistua ilman kikkoja? Oletko miettinyt vaihtoehtoisia ratkaisuja muualle softaan, esim. niin että tiedostoa ei tarvitsisi ylipäätään katkaista? Nopea tapa "katkaista" tiedosto on tietysti pitää tiedoston alussa esim. 32-bittistä arvoa, joka kertoo sen jälkeen tulevan datan määrän. Tätä arvoa muuttamalla voi tiedoston sitten "katkaista". Data on tietysti edelleen siellä lopussa, mutta sen voi napata pois esimerkiksi ainoastaan kun ohjelma suljetaan tai muulloin "sopivana aikana".

bob [22.11.2004 18:10:12]

#

valitettavasti tiedoston sisältörakenne ei ole päätettävissäni
sain tässä jo vinkin posixin `ftruncate' -funktion käyttöön, mutta tuo ei ansi c standardin sisään kuulu

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta