C Programmering

Sådan bruges Lseek System Call i C

Sådan bruges Lseek System Call i C

Lseek-systemopkaldet er blevet brugt til at læse nogle specifikke tegn eller data fra en fil eller til at skrive noget indhold på den specifikke placering af en fil. Dette betyder, at du kan læse eller skrive imellem indholdet af en fil.

Syntaks:

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

Dette “lseek” systemopkald kræver to headerfiler, f.eks.g., “Sys / types.h "og" unistd.h ”. Lseek-systemopkaldet kræver tre parametre. Den første er "fd", som er en filbeskrivelse. Det andet er "offset", der bruges til at placere markøren. Og den tredje parameter, "hvorfra", bruges til at specificere placeringen af ​​en filmarkør, f.eks.g., begyndelse, slutning, midt.

Installer manages:

For at kontrollere de ekstra oplysninger om systemopkald skal du installere manpages-dev-pakken. Så prøv at starte Linux shell-terminalen ved hjælp af genvejstasten Ctrl + Alt + T eller søg den fra aktivitetsområdet. Når du har startet kommandoterminalen, skal du udføre nedenstående apt install-forespørgsel for at installere manpages-dev-biblioteket. Det kræver din nuværende kontoadgangskode for at fortsætte med installationen. Indtast adgangskoden, og tryk på Enter-tasten fra skrivemaskinen. Installationsprocessen startes og indsamling af information begynder.

$ sudo apt install manpages-dev

Installationsprocessen får dig til at vente lidt tid. Når installationen er afsluttet, kan du nu kontrollere oplysningerne om kommandoen “lseek”.  Så skriv nedenstående kommando "mand 2" sammen med navnet på systemopkaldet. Som du kan se, har vi tjekket for “lseek” i nedenstående instruktion.

$ mand 2 lseek

Man-siden til "lseek" -systemopkaldet er blevet åbnet nedenfor. Du kan få alle oplysninger om det.

Installer GCC Compiler:

Nu er det tid for os at installere GCC-kompilatoren til kompilering af C-sprogfiler. Så du skal bruge en meget enkel apt install-kommando i skallen til at installere den, mens du bruger compiler-udvidelsen som nøgleord nedenfor.

$ sudo apt installere gcc

Det tager lidt tid at få installationen gjort. Efter installation af gcc-pakken er dit Linux-system klar til at bruge c-sprogfiler i den.

Eksempel 01:

Før du går dybt for at forstå konceptet med lseek-systemopkaldet, skal du starte det med en simpel filtype. Så start terminalen, og prøv nedenstående berøringskommando for at oprette en simpel fil med navnet "søg" i hjemmemappen til din Linux-distribution.

$ touch-søgning

Tilføj nogle data i filen "søg", og gem den. Du kan se filen "søge" indhold i kommandolinjeskallen ved hjælp af den enkle "kat" -forespørgsel nedenfor. Indholdet af en fil har nogle alfabeter og tal sammen med tegnet "*".

$ katsøgning

Lad os oprette en C-type fil “test.c ”ved hjælp af nano-nøgleordet for direkte at åbne det med Nano-editoren. Prøv at udføre nedenstående kommando for at gøre det.

$ nano test.c

Lad os kontrollere et program uden lseek-kommandoen. Det åbner en nano-teksteditor med en C-type fil nævnt på oversiden. Skriv nu nedenstående kode fra billedet i editor C-filen. De første 4 linjer indeholder de headerfiler, der er nødvendige for at implementere kommandoen “lseek”. Derefter er hovedfunktionen startet. I denne hovedmetode har vi defineret heltal- og karaktertypedata til videre brug. Den tredje linje i hovedfunktionen har brugt det åbne opkald til at åbne en fil med navnet "søg", som vi lige har oprettet ovenfor, og forskydningen "O_RDWR" er blevet brugt til læse- og skrivetilladelser. Indholdet fra filen er returneret til filbeskrivelsen “f”. Efter dette har vi brugt det første læsemetodeopkald til at læse 12 karakterdata fra søgefilen. Skrivefunktionen er blevet brugt til at skrive data ind på skærmen. En anden læsekommando er blevet brugt til at hente de næste 12 tegn fra filbeskrivelsen “f”, og skrivkommandoen læser de næste 12 tegn til outputskærmen. Fra dette kan vi antage, at output vil vise i alt 24 tegn fra filen "søg". Tryk på Ctrl + S for at gemme denne fil, og prøv Ctrl + X for at lukke den.

Lad os bare sammensætte “testen.c ”-fil ved hjælp af GCC-compiler-kommandoen nedenfor.

$ gcc test.c

Kør nu koden til “testen.c ”-fil for at kontrollere output af C-koden som angivet nedenfor. Outputtet har vist det 24 tegnsæt indhold fra filsøgningen som nedenfor.

$ ./en.ud

Lad os bruge kommandoen “lseek” i koden til at kontrollere output fra et systemopkald. Så åbn den samme test.c-fil ved hjælp af nedenstående nano-kommando.

$ nano test.c

Opdater din kode, som den er. Denne gang har vi brugt 6 tegn fra indholdsfilen til at blive læst og skrevet. Lseek-kommandoen er blevet brugt til at springe over de næste 5 tegn fra indholdsfilen og springe til de næste tegn ved hjælp af "SEEK_CUR" offset.

Lad os kompilere denne kode igen.

$ gcc test.c

Output af C-koden ved hjælp af a.kommandoen ud viser de første 6 tegn, derefter springer de næste 5 tegn over og viser derefter de på hinanden følgende 6 tegn.

$ ./en.ud

Eksempel 02:

For at få nogle ændringer, lad os ændre koden. Åbn filen først.

$ nano test.c

Nu bruger vi "SEEK_SET" offset til at fortælle "lseek" systemopkaldet om at vise de næste 6 tegn fra en strengs 10. position.

Kompilér C-filen.

$ gcc test.c

Outputkommandoen a.out har vist de 6 tegn fra en strengs 10. indeks.

Konklusion:

Denne guide har lavet nogle enkle eksempler på brug af kommandoen “lseek” systemopkald til at kontrollere eller vise indhold eller data fra enhver position, vi ønsker.

Sådan bruges AutoKey til at automatisere Linux-spil
AutoKey er et desktopautomatiseringsværktøj til Linux og X11, programmeret i Python 3, GTK og Qt. Ved hjælp af dets scripting og MACRO-funktionalitet ...
Sådan vises FPS-tæller i Linux-spil
Linux-spil fik et stort skub, da Valve annoncerede Linux-support til Steam-klient og deres spil i 2012. Siden da har mange AAA- og indiespil fundet ve...
Sådan downloades og afspilles Sid Meiers Civilization VI på Linux
Introduktion til spillet Civilization 6 er et moderne udtryk for det klassiske koncept, der blev introduceret i serien af ​​Age of Empires-spil. Ideen...