C Programiranje

Kako koristiti Lseek System Call u C

Kako koristiti Lseek System Call u C

Poziv Lseek System korišten je za čitanje nekih specifičnih znakova ili podataka iz datoteke ili za pisanje određenog sadržaja na određenom mjestu bilo koje datoteke. To znači da možete čitati ili pisati između sadržaja datoteke.

Sintaksa:

Off_t lseek (int fd, off_t offset, int odakle);

Ovaj sistemski poziv "lseek" zahtijeva dvije datoteke zaglavlja, npr.g., “Sys / vrste.h "i" unistd.h ". Sistemski poziv lseek zahtijeva tri parametra. Prvi je "fd", što je deskriptor datoteke. Drugi je "pomak", koji se koristi za pozicioniranje pokazivača. I treći parametar, "odakle", koristi se za određivanje položaja pokazivača datoteke, npr.g., početak, kraj, sredina.

Instaliranje stranica:

Da biste provjerili dodatne informacije u vezi sa sistemskim pozivima, morate instalirati paket manpages-dev. Zato pokušajte pokrenuti Linux shell terminal pomoću prečaca Ctrl + Alt + T ili ga pretražite iz područja aktivnosti. Nakon što ste uspješno pokrenuli naredbeni terminal, izvršite donji upit za apt instalaciju kako biste instalirali knjižnicu manpages-dev. Za nastavak instalacije potrebna je šifra vašeg trenutnog računa. Unesite lozinku i na stroju dodirnite tipku Enter. Pokrenut će se postupak instalacije i započet će prikupljanje podataka.

$ sudo apt install manpages-dev

Postupak instalacije natjerat će vas da pričekate malo vremena. Nakon završetka instalacije sada možete provjeriti informacije u vezi s naredbom "lseek".  Dakle, napišite donju naredbu "man 2" zajedno s imenom sistemskog poziva. Kao što vidite, provjeravali smo "lseek" u donjoj uputi.

$ čovjek 2 lseek

Stranica s uputama za sistemski poziv "lseek" otvorena je u nastavku. Možete dobiti sve informacije u vezi s tim.

Instalirajte GCC kompajler:

Sada je vrijeme da instaliramo GCC kompajler za kompajliranje datoteka na jeziku C. Dakle, morate koristiti vrlo jednostavnu naredbu apt install u ljusci da biste je instalirali dok koristite ekstenziju kompajlera kao naziv ključne riječi ispod.

$ sudo apt instalirati gcc

Trebat će vam malo vremena da završite instalaciju. Nakon instalacije paketa gcc, vaš je Linux sustav spreman za upotrebu datoteka s jezikom c.

Primjer 01:

Prije dubljeg razumijevanja koncepta sistemskog poziva lseek, morate ga započeti jednostavnom vrstom datoteke. Dakle, pokrenite terminal i isprobajte donju naredbu dodira kako biste stvorili jednostavnu datoteku pod nazivom "traži" u početnom direktoriju vaše Linux distribucije.

$ dodir traži

Dodajte neke podatke u datoteku "traži" i spremite ih. Sadržaj datoteke "traži" možete vidjeti u ljusci naredbenog retka pomoću jednostavnog upita "mačka" u nastavku. Sadržaj datoteke sadrži neke abecede i brojeve, zajedno sa znakom "*".

$ mačka traži

Stvorimo datoteku tipa „test“.c ”pomoću ključne riječi nano za izravno otvaranje pomoću Nano uređivača. Pokušajte izvršiti donju naredbu da biste to učinili.

$ nano test.c

Provjerimo jedan program bez naredbe lseek. Otvorit će se uređivač nano teksta s datotekom tipa C koja se spominje na gornjoj strani. Sada napišite dolje prikazani kod sa slike u datoteku editor C. Prva 4 retka sadrže datoteke zaglavlja potrebne za provedbu naredbe "lseek". Nakon toga pokrenuta je glavna funkcija. U ovoj glavnoj metodi definirali smo cjelobrojne i znakovne podatke za daljnju upotrebu. Treći redak glavne funkcije koristi otvoreni poziv za otvaranje datoteke pod nazivom "traži", koju smo upravo stvorili gore, a pomak "O_RDWR" koristi se za dozvole čitanja i pisanja. Sadržaj iz datoteke vraćen je u deskriptor datoteke „f“. Nakon toga koristili smo prvi poziv metode čitanja za čitanje podataka od 12 znakova iz datoteke traženja. Funkcija pisanja korištena je za upisivanje podataka na zaslon. Druga naredba za čitanje korištena je za dobivanje sljedećih 12 znakova iz deskriptora datoteke "f", a naredba za pisanje čita sljedećih 12 znakova na izlazni zaslon. Iz ovoga možemo pretpostaviti da će izlaz prikazati ukupno 24 znaka iz datoteke "traži". Pritisnite Ctrl + S da biste spremili ovu datoteku i pokušajte Ctrl + X da biste je zatvorili.

Sastavimo samo „test.c ”pomoću naredbe GCC kompajlera u nastavku.

$ gcc test.c

Sada pokrenite kod „testa.c ”datoteku za provjeru izlaza C koda kako je dato u nastavku. Izlaz je prikazao skup znakova od 24 datoteke u potrazi za datotekom kao što je prikazano u nastavku.

$ ./ a.van

Upotrijebimo naredbu "lseek" u kodu da provjerimo izlaz sistemskog poziva. Dakle, otvorite isti test.c datoteku pomoću donje nano naredbe.

$ nano test.c

Ažurirajte svoj kod kakav jest. Ovaj put za čitanje i pisanje koristimo 6 znakova iz datoteke sadržaja. Naredba lseek korištena je za preskakanje sljedećih 5 znakova iz datoteke sadržaja i preskakanje na sljedeće znakove pomoću pomaka “SEEK_CUR”.

Sastavimo ovaj kod ponovno.

$ gcc test.c

Izlaz C koda pomoću a.naredba out prikazuje prvih 6 znakova, zatim preskače sljedećih 5 znakova, a zatim prikazuje uzastopnih sljedećih 6 znakova.

$ ./ a.van

Primjer 02:

Da bismo nešto promijenili, promijenimo kod. Prvo otvorite datoteku.

$ nano test.c

Sada ćemo koristiti pomak "SEEK_SET" da kažemo sistemskom pozivu "lseek" da prikaže sljedećih 6 znakova s ​​10. mjesta niza.

Sastavite datoteku C.

$ gcc test.c

Izlazna naredba a.out prikazuje 6 znakova iz 10. indeksa niza.

Zaključak:

Ovaj je vodič donio nekoliko jednostavnih primjera upotrebe naredbe sistemskog poziva "lseek" za provjeru ili prikaz sadržaja ili podataka s bilo kojeg položaja koji želimo.

Kako preuzeti i igrati Sid Meier's Civilization VI na Linuxu
Uvod u igru Civilization 6 moderan je pogled na klasični koncept predstavljen u seriji igara Age of Empires. Ideja je bila prilično jednostavna; započ...
Kako instalirati i igrati Doom na Linuxu
Uvod u Doom Serija Doom nastala je 90-ih nakon izlaska originalnog Dooma. To je bio trenutni hit i od tog vremena nadalje igraća serija dobila je broj...
Vulkan za korisnike Linuxa
Sa svakom novom generacijom grafičkih kartica vidimo da programeri igara pomiču granice grafičke vjernosti i dolaze na korak od fotorealizma. No, bez ...