Volání systému Lseek bylo použito ke čtení některých konkrétních znaků nebo dat ze souboru nebo k napsání určitého obsahu na konkrétním místě libovolného souboru. To znamená, že můžete číst nebo zapisovat mezi obsahem souboru.
Syntax:
Off_t lseek (int fd, off_t offset, int odkud);Toto systémové volání „lseek“ vyžaduje dva hlavičkové soubory, např.G., „Sys / typy.h “a„ unistd.h “. Systémové volání lseek vyžaduje tři parametry. První z nich je „fd“, což je deskriptor souboru. Druhý je „offset“, který se používá k umístění ukazatele. A třetí parametr „odkud“ se používá k určení polohy ukazatele souboru, např.G., začátek, konec, střed.
Nainstalovat stránky:
Chcete-li zkontrolovat další informace týkající se systémových volání, musíte nainstalovat balíček manpages-dev. Zkuste tedy spustit linuxový terminál pomocí klávesové zkratky Ctrl + Alt + T nebo jej prohledat v oblasti aktivity. Po úspěšném spuštění příkazového terminálu spusťte níže uvedený apt instalační dotaz a nainstalujte knihovnu manpages-dev. Pro pokračování instalace je vyžadován váš aktuální přístupový kód účtu. Zadejte heslo a klepněte na klávesu Enter na psacím stroji. Spustí se proces instalace a začne se shromažďovat informace.
$ sudo apt install manpages-dev
Proces instalace vás nechá chvíli čekat. Po dokončení instalace můžete nyní zkontrolovat informace týkající se příkazu „lseek“. Takže napište níže uvedený příkaz „man 2“ spolu s názvem systémového volání. Jak vidíte, v níže uvedené instrukci jsme kontrolovali „lseek“.
$ man 2 lseek
Manuální stránka systémového volání „lseek“ byla otevřena níže. Můžete získat všechny informace o tom.
Nainstalujte kompilátor GCC:
Nyní je čas, abychom si nainstalovali kompilátor GCC pro kompilaci souborů v jazyce C. Chcete-li jej nainstalovat při použití rozšíření kompilátoru jako názvu klíčového slova níže, musíte použít velmi jednoduchý příkaz apt install v shellu.
$ sudo apt nainstalovat gcc
Instalace bude trvat trochu času. Po instalaci balíčku gcc je váš systém Linux připraven používat v něm soubory jazyka c.
Příklad 01:
Než porozumíte konceptu systémového volání lseek, musíte jej spustit jednoduchým typem souboru. Spusťte tedy terminál a zkuste pomocí následujícího dotykového příkazu vytvořit v domovském adresáři vaší distribuce Linuxu jednoduchý soubor s názvem „hledat“.
$ hledání dotyku
Přidejte do souboru „hledat“ některá data a uložte je. Obsah souboru „hledat“ v prostředí příkazového řádku můžete zobrazit pomocí jednoduchého dotazu „kočka“ níže. Obsah souboru obsahuje několik abeced a čísel spolu se znaménkem „*“.
$ hledání koček
Vytvořme test typu „C“.c ”pomocí klíčového slova nano k jeho přímému otevření pomocí editoru Nano. Pokuste se provést níže uvedený příkaz.
$ nano test.C
Zkontrolujme jeden program bez příkazu lseek. Otevře se nano textový editor se souborem typu C uvedeným na horní straně. Nyní napište níže zobrazený kód z obrázku do souboru C editoru. První 4 řádky obsahují soubory záhlaví potřebné k implementaci příkazu „lseek“. Poté byla spuštěna hlavní funkce. V této hlavní metodě jsme definovali data celého čísla a typu znaků pro další použití. Třetí řádek hlavní funkce používá otevřené volání k otevření souboru s názvem „hledat“, který jsme právě vytvořili výše, a pro oprávnění ke čtení a zápisu byl použit offset „O_RDWR“. Obsah souboru byl vrácen deskriptoru souboru „f“. Poté jsme použili první volání metody čtení ke čtení 12 znakových dat ze souboru hledání. Funkce zápisu byla použita k zápisu dat na obrazovku. Další příkaz pro čtení byl použit k získání dalších 12 znaků z deskriptoru souboru „f“ a příkaz pro zápis čte následujících 12 znaků na výstupní obrazovku. Z toho můžeme předpokládat, že výstup zobrazí celkem 24 znaků ze souboru „hledat“. Stisknutím Ctrl + S tento soubor uložte a zkuste jej Ctrl + X zavřít.
Pojďme sestavit „test“.c ”pomocí níže uvedeného příkazu kompilátoru GCC.
$ gcc test.C
Nyní spusťte kód „testu.c ”soubor pro kontrolu výstupu C kódu, jak je uvedeno níže. Výstup zobrazil 24 znakovou sadu obsahu z vyhledávání souborů, jak je uvedeno níže.
$ ./A.ven
Pomocí příkazu „lseek“ v kódu zkontrolujeme výstup systémového volání. Otevřete tedy stejný test.c soubor pomocí níže uvedeného příkazu nano.
$ nano test.C
Aktualizujte svůj kód tak, jak je. Tentokrát používáme ke čtení a zápisu 6 znaků ze souboru obsahu. Příkaz lseek byl použit k přeskočení dalších 5 znaků ze souboru obsahu a přeskočení na další znaky pomocí offsetu „SEEK_CUR“.
Zkompilovejme tento kód znovu.
$ gcc test.C
Výstup kódu C pomocí a.Příkaz out zobrazí prvních 6 znaků, poté přeskočí dalších 5 znaků a poté zobrazí následujících 6 znaků za sebou.
$ ./A.ven
Příklad 02:
Abychom měli nějakou změnu, změňme kód. Nejprve otevřete soubor.
$ nano test.C
Nyní použijeme offset „SEEK_SET“, abychom řekli systémovému volání „lseek“, aby zobrazilo dalších 6 znaků z 10. pozice řetězce.
Zkompilujte soubor C.
$ gcc test.C
Výstupní příkaz a.out ukazuje 6 znaků z 10. indexu řetězce.
Závěr:
Tato příručka provedla několik jednoduchých příkladů použití příkazu „lseek“ pro systémové volání ke kontrole nebo zobrazení obsahu nebo dat z libovolné pozice, kterou chceme.