C Ohjelmointi

Kuinka käyttää Lseek-järjestelmäkutsua C ssä

Kuinka käyttää Lseek-järjestelmäkutsua C ssä

Lseek-järjestelmän kutsua on käytetty tiettyjen merkkien tai tietojen lukemiseen tiedostosta tai jonkin sisällön kirjoittamiseen minkä tahansa tiedoston tiettyyn kohtaan. Tämä tarkoittaa, että voit lukea tai kirjoittaa tiedoston sisällön väliltä.

Syntaksi:

Off_t lseek (int fd, off_t offset, int mistä);

Tämä "lseek" -järjestelmäkutsu vaatii kaksi otsikkotiedostoa, esim.g., “Sys / tyypit.h ”ja” unistd.h ”. Lseek-järjestelmäkutsu vaatii kolme parametria. Ensimmäinen on “fd”, joka on tiedostokuvaaja. Toinen on ”offset”, jota käytetään osoittimen sijoittamiseen. Ja kolmatta parametria, "mistä", käytetään määrittämään tiedostosoittimen sijainti, esim.g., alku, loppu, puolivälissä.

Asenna sivut:

Jos haluat tarkistaa järjestelmän puheluita koskevia lisätietoja, sinun on asennettava manpages-dev-paketti. Joten yritä käynnistää Linux-komentoterminaali käyttämällä pikanäppäintä Ctrl + Alt + T tai etsi sitä toiminta-alueelta. Kun komentoterminaali on onnistuneesti käynnistetty, suorita alla oleva apt-kysely asentaaksesi manpages-dev-kirjasto. Asennuksen jatkaminen edellyttää nykyisen tilisi salasanaa. Kirjoita salasana ja napauta kirjoituskoneen Enter-näppäintä. Asennus aloitetaan ja aletaan kerätä tietoja.

$ sudo apt asenna manpages-dev

Asennusprosessi saa sinut odottamaan vähän aikaa. Kun asennus on valmis, voit nyt tarkistaa “lseek” -komennon tiedot.  Kirjoita siis alla oleva komento "man 2" ja järjestelmäkutsun nimi. Kuten näette, olemme tarkistaneet ”lseek” -kohdan alla olevissa ohjeissa.

$ mies 2 lseek

”Lseek” -järjestelmäkutsun man-sivu on avattu alla. Voit saada kaikki siihen liittyvät tiedot.

Asenna GCC Compiler:

Nyt on aika asentaa GCC-kääntäjä C-kielitiedostojen kokoamista varten. Joten sinun on käytettävä kuoressa hyvin yksinkertaista apt install -komentoa sen asentamiseen, kun käytät kääntäjän laajennusta avainsananimenä alla.

$ sudo apt asenna gcc

Asennuksen tekeminen vie vähän aikaa. Kun olet asentanut gcc-paketin, Linux-järjestelmäsi on valmis käyttämään siinä olevia c-kielitiedostoja.

Esimerkki 01:

Ennen kuin menet syvälle ymmärtämään lseek-järjestelmäkutsun käsitettä, sinun on aloitettava se yksinkertaisella tiedostotyypillä. Joten, käynnistä pääte ja kokeile alla olevaa kosketuskomentoa luodaksesi yksinkertainen tiedosto nimeltä "etsi" Linux-jakelusi kotihakemistoon.

$ touch etsi

Lisää tietoja hakutiedostoon ja tallenna se. Voit nähdä tiedoston "etsi" sisällön komentorivin kuoressa käyttämällä yksinkertaista "cat" -kyselyä alla. Tiedoston sisällössä on joitain aakkosia ja numeroita sekä merkki *.

$ kissanhaku

Luodaan C-tyyppinen tiedosto -testi.c ”käyttämällä nano-avainsanaa avataksesi sen suoraan Nano-editorilla. Yritä suorittaa alla oleva komento.

$ nanotesti.c

Tarkistetaan yksi ohjelma ilman komentoa lseek. Se avaa nanotekstieditorin, jonka yläosassa on mainittu C-tyyppinen tiedosto. Kirjoita nyt alla esitetty koodi editorin C-tiedoston kuvasta. Ensimmäiset 4 riviä sisältävät otsikkotiedostot, jotka ovat tarpeen "lseek" -komennon toteuttamiseksi. Sen jälkeen päätoiminto on aloitettu. Tässä päämenetelmässä olemme määrittäneet kokonaisluku- ja merkkityyppitiedot jatkokäyttöä varten. Päätoiminnon kolmannella rivillä on käytetty avointa kutsua avaamaan tiedosto nimeltä "etsi", jonka olemme juuri luoneet yllä, ja siirtymää "O_RDWR" on käytetty luku- ja kirjoitusoikeuksiin. Tiedoston sisältö on palautettu tiedostokuvaajaan "f". Tämän jälkeen olemme käyttäneet ensimmäistä lukumenetelmäkutsua lukemaan 12 merkkitietoa hakutiedostosta. Kirjoitustoimintoa on käytetty tietojen kirjoittamiseen näyttöön. Toista lukukomentoa on käytetty seuraavien 12 merkin saamiseksi tiedostokuvaajasta "f", ja kirjoituskomento lukee seuraavat 12 merkkiä tulostusnäyttöön. Tästä voidaan olettaa, että tulos näyttää yhteensä 24 merkkiä tiedostosta "etsi". Tallenna tiedosto painamalla Ctrl + S ja sulje se painamalla Ctrl + X.

Kootaan vain koe.c ”-tiedosto käyttämällä alla olevaa GCC-kääntäjäkomentoa.

$ gcc -testi.c

Suorita nyt testin koodi.c ”tiedosto C-koodin lähdön tarkistamiseksi alla esitetyllä tavalla. Tulosteessa on näytetty tiedostomerkinnän 24 merkkisarjaa seuraavasti.

$ ./ a.ulos

Tarkastellaan järjestelmäkutsun lähtö koodissa olevalla ”lseek” -komennolla. Joten avaa sama testi.c-tiedosto alla olevan nano-komennon avulla.

$ nanotesti.c

Päivitä koodi sellaisenaan. Tällä kertaa olemme käyttäneet 6 merkkiä sisältötiedostosta luettavaksi ja kirjoitettavaksi. Lseek-komentoa on käytetty ohittamaan seuraavat 5 merkkiä sisältötiedostosta ja siirtymään seuraaviin merkkeihin käyttämällä SEEK_CUR-siirtymää.

Kootaan tämä koodi uudelleen.

$ gcc -testi.c

C-koodin lähtö käyttämällä a.out -komento näyttää ensimmäiset 6 merkkiä, sitten ohittaa seuraavat 5 merkkiä ja näyttää sitten peräkkäiset seuraavat 6 merkkiä.

$ ./ a.ulos

Esimerkki 02:

Jos haluat muuttaa, vaihdetaan koodi. Avaa tiedosto ensin.

$ nanotesti.c

Nyt käytämme ”SEEK_SET” -siirtymää kertoa ”lseek” -järjestelmäkutsulle näyttämään seuraavat 6 merkkiä merkkijonon 10. sijasta.

Käännä C-tiedosto.

$ gcc -testi.c

Lähtökomento a.out on osoittanut 6 merkkiä merkkijonon 10. hakemistosta.

Päätelmä:

Tässä oppaassa on tehty joitain yksinkertaisia ​​esimerkkejä "lseek" -järjestelmän kutsukomennon avulla sisällön tai datan tarkistamiseksi tai näyttämiseksi haluamastamme sijainnista.

How to download and Play Sid Meier's Civilization VI on Linux
Introduction to the game Civilization 6 is a modern take on the classic concept introduced in the series of the Age of Empires games. The idea was fai...
How to Install and Play Doom on Linux
Introduction to Doom The Doom Series originated in the 90s after the release of the original Doom. It was an instant hit and from that time onwards th...
Vulkan for Linux Users
With each new generation of graphics cards, we see game developers push the limits of graphical fidelity and come one step closer to photorealism. But...