C Programmeren

Hoe Lseek System Call te gebruiken in C

Hoe Lseek System Call te gebruiken in C

De Lseek-systeemaanroep is gebruikt om enkele specifieke tekens of gegevens uit een bestand te lezen of om inhoud op de specifieke locatie van een bestand te schrijven. Dit betekent dat u tussen de inhoud van een bestand kunt lezen of schrijven.

Syntaxis:

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

Deze "lseek" systeemaanroep vereist twee header-bestanden, bijv.g., “sys/types.h" en "unistd.h”. De lseek-systeemaanroep vereist drie parameters:. De eerste is "fd", wat een bestandsdescriptor is. De tweede is "offset", gebruikt om de aanwijzer te positioneren. En de derde parameter, "when", wordt gebruikt om de positie van een bestandsaanwijzer te specificeren, e.g., begin, einde, midden.

Manpages installeren:

Om de extra informatie over systeemaanroepen te controleren, moet u het pakket manpages-dev installeren. Dus probeer de Linux shell-terminal te starten met de sneltoets Ctrl+Alt+ T of zoek het vanuit het activiteitengebied activity. Nadat u met succes de opdrachtterminal hebt gestart, voert u de onderstaande apt install-query uit om de manpages-dev-bibliotheek te installeren:. Het vereist de toegangscode van uw huidige account om door te gaan met de installatie. Voer het wachtwoord in en tik op de Enter-toets van de typemachine. Het installatieproces wordt gestart en begint met het verzamelen van informatie.

$ sudo apt install manpages-dev

Het installatieproces laat je even wachten. Nadat de installatie is voltooid, kunt u nu de informatie over de opdracht "lseek" controleren.  Schrijf dus het onderstaande "man 2" -commando samen met de naam van de systeemaanroep. Zoals je kunt zien, hebben we gecontroleerd op "lseek" in de onderstaande instructie:.

$ man 2 zoek

De man-pagina voor de "lseek" systeemaanroep is hieronder geopend opened. U kunt er alle informatie over krijgen.

GCC-compiler installeren:

Nu is het tijd voor ons om de GCC-compiler te installeren voor het compileren van C-taalbestanden. U moet dus een heel eenvoudig apt install-commando in de shell gebruiken om het te installeren terwijl u de compilerextensie als trefwoordnaam hieronder gebruikt.

$ sudo apt install gcc

Het zal je weinig tijd kosten om de installatie gedaan te krijgen. Na het installeren van het gcc-pakket, is je Linux-systeem klaar om c-taalbestanden erin te gebruiken.

Voorbeeld 01:

Voordat je diep gaat om het concept van de lseek-systeemaanroep te begrijpen, moet je het beginnen met een eenvoudig type bestand. Start dus de terminal en probeer de onderstaande aanraakopdracht om een ​​eenvoudig bestand met de naam "seek" te maken in de homedirectory van uw Linux-distributie.

$ raak zoeken

Voeg wat gegevens toe aan het bestand "zoeken" en sla het op. U kunt de inhoud van het bestand "zoeken" in de opdrachtregelshell zien door de eenvoudige "kat"-query hieronder te gebruiken. De inhoud van een bestand heeft enkele alfabetten en cijfers samen met het teken "*".

$ kat zoeken

Laten we een C-type bestand "test" maken.c" met behulp van het nano-sleutelwoord om het rechtstreeks te openen met de Nano-editor. Probeer de onderstaande opdracht uit te voeren om dit te doen.

$ nano-test.c

Laten we een programma controleren zonder het commando lseek. Het opent een nano-teksteditor met een C-type bestand dat aan de bovenkant wordt vermeld. Schrijf nu de hieronder getoonde code uit de afbeelding in het C-bestand van de editor. De eerste 4 regels bevatten de header-bestanden die nodig zijn om de opdracht "lseek" te implementeren. Daarna is de hoofdfunctie gestart. In deze hoofdmethode hebben we integer- en tekentypegegevens gedefinieerd voor verder gebruik. De derde regel van de hoofdfunctie heeft de open aanroep gebruikt om een ​​bestand met de naam "seek" te openen, dat we zojuist hierboven hebben gemaakt, en de offset "O_RDWR" is gebruikt voor lees- en schrijfrechten. De inhoud van het bestand is teruggestuurd naar bestandsdescriptor "f". Hierna hebben we de eerste leesmethode-aanroep gebruikt om gegevens van 12 tekens uit het zoekbestand te lezen. De schrijffunctie is gebruikt om gegevens naar het scherm te schrijven. Een ander leescommando is gebruikt om de volgende 12 tekens uit de bestandsdescriptor "f" te halen, en het schrijfcommando leest de volgende 12 tekens naar het uitvoerscherm. Hieruit kunnen we aannemen dat de uitvoer in totaal 24 tekens uit het bestand "zoeken" zal tonen. Druk op Ctrl+S om dit bestand op te slaan en probeer Ctrl+X om het te sluiten.

Laten we gewoon de "test" compileren.c” bestand met behulp van de onderstaande GCC-compileropdracht command.

$ gcc-test.c

Voer nu de code van de “test.c”-bestand om de uitvoer van de C-code te controleren, zoals hieronder weergegeven:. De uitvoer heeft de inhoud van 24 tekens weergegeven uit het bestand zoeken zoals hieronder:.

$ ./een.uit

Laten we de opdracht "lseek" in de code gebruiken om de uitvoer van een systeemaanroep te controleren. Dus open dezelfde test.c-bestand met behulp van de onderstaande nano-opdracht.

$ nano-test.c

Update uw code zoals deze is. Deze keer hebben we 6 tekens uit het inhoudsbestand gebruikt om te lezen en te schrijven. Het lseek-commando is gebruikt om de volgende 5 tekens uit het inhoudsbestand over te slaan en naar de volgende tekens te springen met behulp van de "SEEK_CUR"-offset.

Laten we deze code opnieuw compileren.

$ gcc-test.c

De uitvoer van de C-code met de a.out commando toont de eerste 6 karakters, dan slaat het de volgende 5 karakters over en toont dan de opeenvolgende volgende 6 karakters.

$ ./een.uit

Voorbeeld 02:

Laten we de code veranderen om wat verandering te hebben. Open eerst het bestand.

$ nano-test.c

Nu zullen we de "SEEK_SET" offset gebruiken om de "lseek" systeemaanroep te vertellen om de volgende 6 karakters vanaf de 10e positie van een string te tonen.

Compileer het C-bestand.

$ gcc-test.c

Het uitvoercommando a.out heeft de 6 karakters van de 10e index van een string getoond.

Conclusie:

Deze gids heeft enkele eenvoudige voorbeelden gegeven van het gebruik van de systeemaanroepopdracht "lseek" om inhoud of gegevens te controleren of weer te geven vanaf elke gewenste positie.

Middelste muisknop werkt niet in Windows 10
De middelste muis knop helpt u door lange webpagina's en schermen met veel gegevens te bladeren. Als dat stopt, zul je uiteindelijk het toetsenbord ge...
Hoe de linker- en rechtermuisknop op Windows 10 pc te veranderen
Het is nogal een norm dat alle computermuisapparaten ergonomisch zijn ontworpen voor rechtshandige gebruikers. Maar er zijn muisapparaten beschikbaar ...
Emuleer muisklikken door te zweven met Clickless Mouse in Windows 10
Het gebruik van een muis of toetsenbord in de verkeerde houding of overmatig gebruik kan leiden tot veel gezondheidsproblemen, waaronder spanning, car...