bináris fájlok

Ezen túlmenően, a szöveges fájlok szekvenciális struktúrák és bináris - közvetlen. Ez azt jelenti, hogy bármelyik pillanatban fordulhat bárki, nem csak az aktuális elem a bináris fájlt.

gépelt fájlok

A változók strukturált adattípusok (kivéve string) nem lehet olvasni egy szöveges fájlt. Például, ha meg kell adnia adatait egy szöveges fájlt játék irat tartalmának információt kereskedelemben kapható játékok (terméknév, az ár az áruk és a korcsoportot, amelynek a játék célja):

típusú játék = rekord neve: string [20]; ár: real;

meg kell írni a következő kódot:

c: char; i, j, min, max: integer;

egy: ​​array [1..100] a játék;

kezdenek assign (f, input); reset (f);

i: = 1-től 100 teendő, ha nem EOF (f)

majd egy [I] do

kezdődik readln (f, név, ár, min, max); életkor: = [];

j: = min max do életkor: = kor + [j];

Mint látható, ez egy felrobbant olvasni nagyon kényelmetlen és időigényes.

Ki ez a helyzet ajánlat gépelt fájlokat - azok elemei lehetnek bármilyen alap vagy strukturált adatok típusát. Az egyetlen korlátozás: minden eleme kell, hogy legyen az azonos típusú. Ez a látszólagos hátránya,

Leírás gépelt fájlok

A var fájl változók vannak kialakítva, hogy a gépelt fájlokat. leírása a következő:

var <файловая_перем>: Fájlok az <тип_элементов_файла>;

Nincs fájl változót nem lehet beállítani állandó.

Hozzárendelése begépelt fájl

Mostantól az e szakasz végén, a „file” alatt azt értjük, „bináris gépelt file” (persze, hacsak másképp).

rendelni parancs (f, '<имя_файла>„); Arra használják, hogy létrehozza a kapcsolatot a fájlt változó f és a fájl nevét, a munka, amely a változó lesz a felelős.

A string ' <имя_файла> „Tartalmazhat a teljes elérési utat. Ha nincs megadva, a fájl kell tekinteni található ugyanabban a könyvtárban, mint a végrehajtható modul.

Nyitása és zárása egy gépelt fájl

Attól függően, hogy milyen művelethez, a program esten megnyit egy fájlt lehet duplázni a felfedezés:

reset (f); - fájl megnyitásakor információt olvasni, és ugyanabban az időben, hogy írjon rá (ha a fájl nem létezik, akkor a felfedezés kísérlet sikertelen lesz). Ugyanazt a parancsot használják, hogy visszatérjen egy mutatót a fájl elején;

átírni (f); - nyissa meg a fájlt, hogy rögzítse az adatokat meg; Ha ez a fájl nem létezik, akkor létrejön; ha a fájl már létezik, az egész bennük, mielőtt az információt eltűnik.

Típusos fájlok eljárás lezárult közeli (f). közös az összes típusú fájlokat.

Reading egy gépelt fájl

Olvasása fájlból az olvasásra megnyitott, készül a következő paranccsal: read (). Az első zárójelben a fájl nevét a változó, majd - Nevezési lista 1):

típusú játék = rekord neve: string [20]; ár: real;

var f: fájl játék;

egy: ​​array [1..100] a játék; kezdődik

i: = 1-től 100 do

ha nem EOF (f), majd olvasni (f, a [i]); bezár (f);

Keresés a begépelt fájl

Az ismerős függvény EOF (f: fájl): logikai alakulásáról szóló jelentés végén a fájlt. Minden más funkció „vége keresés” (eoln (). Seekeof () és seekeoln ()), jellemző szöveges fájlok, nem lehet alkalmazni a gépelt fájlokat.

Vannak azonban olyan konkrét rutinok, amelyek lehetővé teszik a gépelt fájlok mind közvetlen hozzáférést szerkezetek:

1. filepos funkció (f: fájl): longint jelenteni aktuális pozícióját mutató fájl f. Ha ez arra utal, hogy a legvégén a fájl, amely N elemet, ezt a funkciót eredményez N. Ez könnyen magyarázható: a fájl elemek vannak számozva a nulla, így az utolsó elem számos N-1. Számos N tartozik, így „nem létező” elem - a jele a végén a fájlt.

2. A funkció filesize (f: fájl): longint kiszámítja f fájl hosszát.

3. keresik az eljárás (f: fájl, n: longint) mozgatja a mutatót a f fájl elején a felvétel száma N. Ha kiderül, hogy n értéke nagyobb, mint a tényleges hossza a fájl, a mutató elmozdul és a valódi fájl végére.

4. Az eljárás csonka (f: fájl) elvágja a „farok” a fájl f. minden elem az aktuális, hogy a végén a fájl el lesz távolítva belőle. Valójában átírása csak akkor írja alá a „fájl végén” a hely, ahol a mutató, és fizikailag „cut off” értékek maradnak az eredeti helyükön - ők csak lesz „árva”.

Entry begépelt fájl

Őrizze változók megnyitott fájlok írásra. akkor a parancs write (). Csakúgy, mint abban az esetben, elolvasta az első megadott fájlt változó, és a mögötte - a kimenet lista:

levelet (f, a, b, c); - írt a kép f (pre nyitva írási parancsok átírják (f) vagy alaphelyzetbe (f)) változó a. b. c.

Megjelenítése egy gépelt fájl csak társított változók adattípus leírását. Névtelen és típustalan állandók nem lehet kimenet

Típusos fájlok kezelik szerkezet közvetlen és szekvenciális hozzáférés. Ez azt jelenti, hogy a felvétel lehetséges nem csak a végén a fájl, hanem bármely más elemet. Írásbeli érték váltja fel a korábbi érték az elem (a régi érték lesz „elakadt”).

Például, ha ki kell cserélni az ötödik elem a fájl a tárolt érték a változó is. meg kell írni a következő szövegrész a program:

Kapcsolódó cikkek