Perl, Práce se soubory a adresáři (54.díl)

Napsal O webu (») 18. 9. 2008 v kategorii Programování, přečteno: 2184×
obrazky/logo_perl.jpg

Otevření souboru

Pro otevření souboru nejčastěji použijeme standardní funkci "open" nebo "sysopen". Otevření souboru je také jinými slovy přidružení ovladače k souboru zadaného jména. V tomto okamžiku také říkáme, jak se souborem budeme chtít pracovat — číst, zapisovat či obojí.


Funkce "open"


U funkce "open" je jejím prvním argumentem jméno ovladače, jehož chceme se souborem spojit. Existují dvě varianty.


1. Funkci předáme jeden argument, kterým bude jméno souboru včetně způsobu jeho otevření.


2. Funkci předáme dva argumenty - prvním bude způsob otevření souboru a druhým bude jméno souboru.


Způsob otevření souboru se definuje zvláštními symboly, jejichž přehled je uveden v následující tabulce.


SymbolZpůsob otevření
<Pro čtení
>Pro přepis
>>Připojení na konec souboru
+>Pro zápis i čtení
+<Pro přepis i čtení
+>>Připojení na konec souboru s možností čtení


A nyní několik příkladů otevření souboru….



// otevření pro čtení

open F, 'data.txt';
open F, ' <data.txt';

// otevření pro zápis na konec s možností čtení

open F, '+» data.txt;

// otevření pro přepis

open F, '>', 'data.txt';

// otevření souboru s kontrolou

open F, 'data.txt' or die "Soubor se nepodařilo otevřít: $!\n";




Funkce sysopen


Další možností je při otevření ovladače použít funkci "sysopen", která nabízí větší kontrolu nad otevíraným souborem. Prvním argumentem je jméno ovladače, pomocí kterého chceme k souboru přistupovat, druhým argumentem je jméno otevíraného souboru. Třetím argumentem se určí, pro jaký způsob práce bude soubor otevřen. Pro tento účel nám slouží konstanty z modulu "Fcntl", jejichž přehled je uveden v následující tabulce.


KonstantaVýznam
0_RDONLYpouze pro čtení
0_WRONLYpouze pro zápis
0_RDWRpouze pro čtení a zápis
O_CREATvytvoří soubor pokud neexistuje
O_EXCLselže, když soubor existuje
O_APPENDpřipojení na konec souboru
0_TRUNCvymaže obsah souboru
O_NONBLOCKneblokuje soubor
A nyní několik příkladů otevření souboru….



sysopen F, 'data.txt', O_RDONLY;

// to samé jako open F, '<data.txt'

sysopen F, 'data.txt', O_WRONLY |1 O_APPEND | O_CREAT;

// to samé jako open F, '>>data.txt'

sysopen F, 'data.txt', 0_RDWR | O_EXCL | O_CREAT;

// otevře soubor pro čtení i zápis, tento soubor, nesmí existovat a bude vytvořen




A to by bylo pro dnešek všechno. V dalším díle se podíváme na textové soubory. V případě jakýchkoliv dotazů mě kontaktujte na email: habrman@banan.cz.


Autor: Robert Habrman
Štítky: Perl
Facebook Twitter Topčlánky.cz Linkuj.cz

Komentáře

Zobrazit: standardní | od aktivních | poslední příspěvky | všechno
Článek ještě nebyl okomentován.


Nový komentář

Téma:
Jméno:
Notif. e-mail *:
Komentář:
  [b] [obr]
Odpovězte prosím číslicemi: Součet čísel čtyři a tři