C Programování

Jak používat systémová volání Lseek v C

Jak používat systémová volání Lseek v C

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.

Hry Jak nainstalovat a hrát Doom na Linuxu
Jak nainstalovat a hrát Doom na Linuxu
Úvod do Doom Série Doom vznikla v 90. letech po vydání původního Doomu. Byl to okamžitý hit a od té doby herní série získala řadu ocenění a původní Do...
Hry Vulkan pro uživatele Linuxu
Vulkan pro uživatele Linuxu
S každou novou generací grafických karet vidíme, že vývojáři her posouvají hranice grafické věrnosti a přibližují se k fotorealismu. Ale navzdory vešk...
Hry OpenTTD vs Simutrans
OpenTTD vs Simutrans
Vytvoření vlastní simulace dopravy může být zábavné, uvolňující a mimořádně lákavé. Proto se musíte ujistit, že vyzkoušíte co nejvíce her, abyste našl...