So verwenden Sie LSEEK -Systemanruf in C

So verwenden Sie LSEEK -Systemanruf in C

Der LSEEK -Systemaufruf wurde verwendet, um einige spezifische Zeichen oder Daten aus einer Datei zu lesen oder Inhalte an den spezifischen Speicherort einer beliebigen Datei zu schreiben. Dies bedeutet, dass Sie zwischen dem Inhalt einer Datei lesen oder schreiben können.

Syntax:

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

Dieser „LSEEK“ -Systemanruf erfordert zwei Header -Dateien, e.G., „Systeme/Typen.H ”und„ Unistd.H". Der LSEEK -Systemaufruf erfordert drei Parameter. Der erste ist "FD", der ein Dateideskriptor ist. Der zweite ist „Offset“, der zum positionieren des Zeigers verwendet wird. Und der dritte Parameter „Woher“ wird verwendet, um die Position eines Dateizeigers zu geben, e.G., Beginn, Ende, mittlerer.

Manpages installieren:

Um die zusätzlichen Informationen zu Systemanrufen zu überprüfen, müssen Sie das Manpages-dev-Paket installieren. Versuchen Sie also, das Linux -Shell -Terminal mit dem Tiefpunkt -Taste Strg+ Alt+ T zu starten oder aus dem Aktivitätsbereich durchsuchen. Nachdem Sie das Befehlsterminal erfolgreich gestartet haben. Es erfordert, dass Ihr Current -Account -Passcode mit der Installation fortgesetzt wird. Geben Sie das Passwort ein und tippen Sie auf die Eingabetaste von der Schreibmaschine. Der Installationsprozess wird gestartet und sammeln Sie Informationen.

$ sudo apt installieren Manpages-dev

Mit dem Installationsprozess warten Sie ein wenig Zeit. Nach Abschluss der Installation können Sie jetzt die Informationen zum Befehl „LSEEK“ überprüfen. Schreiben Sie also den folgenden Befehl „Man 2“ zusammen mit dem Namen des Systemaufrufs. Wie Sie sehen können, haben wir in der folgenden Anweisung nach „LSEEK“ geprüft.

$ MAN 2 LSEEK

Die Mannseite für den "Lseek" -Systemanruf wurde unten geöffnet. Sie können alle Informationen dazu erhalten.

Installieren Sie den GCC -Compiler:

Jetzt ist es Zeit für uns, den GCC -Compiler für die Erstellung von C -Sprachdateien zu installieren. Sie müssen also einen sehr einfachen APT -Installationsbefehl in der Shell verwenden, um ihn zu installieren, während Sie die Compiler -Erweiterung als Schlüsselwortnamen unten verwenden.

$ sudo APT Installieren Sie GCC

Es wird Ihre kleine Zeit dauern, bis die Installation erledigt wird. Nach der Installation des GCC -Pakets ist Ihr Linux -System bereit, C -Sprachdateien darin zu verwenden.

Beispiel 01:

Bevor Sie tief gehen, um das Konzept des LSEEK -Systemaufrufs zu verstehen, müssen Sie ihn mit einer einfachen Art von Datei beginnen. Starten Sie also das Terminal und probieren Sie den folgenden Touch -Befehl aus, um eine einfache Datei mit dem Namen "Such" im Heimverzeichnis Ihrer Linux -Verteilung zu erstellen.

$ touch such

Fügen Sie einige Daten in die Datei "suchen" hinzu und speichern Sie sie. Sie können die Datei "such" -Inhalte in der Befehlszeilenschale sehen, indem Sie die einfache Abfrage "Katzen" unten verwenden. Der Inhalt einer Datei verfügt über einige Alphabete und Zahlen zusammen mit dem Zeichen "*".

$ cat sucht

Erstellen wir eine C -Typ -Datei “Test.C ”Verwenden des Nano -Schlüsselworts, um es direkt mit dem Nano -Editor zu öffnen. Versuchen Sie, den Befehl unten auszuführen, dies zu tun.

$ nano test.C

Lassen Sie uns ein Programm ohne den Befehl LSEEK überprüfen. Es wird einen Nano-Texteditor mit einer auf der oberen Seite genannten C-Type eröffnen. Schreiben Sie nun den unteren Code aus dem Bild in die Editor C-Datei. Die ersten 4 Zeilen enthalten die Header -Dateien, die zur Implementierung des Befehls „LSEEK“ erforderlich sind. Danach wurde die Hauptfunktion gestartet. In dieser Hauptmethode haben wir Ganzzahl- und Charaktertypdaten für die weitere Verwendung definiert. Die dritte Zeile der Hauptfunktion hat den offenen Anruf verwendet, um eine Datei mit dem Namen "Seek" zu öffnen, die wir erst oben erstellt haben, und der Offset "O_RDWR" wurde zum Lesen und Schreiben verwendet. Der Inhalt der Datei wurde an den Dateideskriptor "F" zurückgegeben. Danach haben wir den ersten Lesemethode -Aufruf verwendet, um 12 Zeichendaten aus der Seek -Datei zu lesen. Die Schreibfunktion wurde verwendet, um Daten in den Bildschirm zu schreiben. Ein weiterer Lesenbefehl wurde verwendet, um die nächsten 12 Zeichen aus dem Dateideskriptor „F“ zu erhalten, und der Befehl schriftlich ist das Lesen der nächsten 12 Zeichen auf dem Ausgabebildschirm. Aus diesem Grund können wir davon ausgehen, dass die Ausgabe insgesamt 24 Zeichen aus der Datei „Seek“ anzeigen wird. Drücken Sie Strg+S, um diese Datei zu speichern und versuchen Sie Strg+X, um sie zu schließen.

Lassen Sie uns einfach den "Test" zusammenstellen.C ”Datei mit dem folgenden Befehl GCC Compiler verwenden.

$ GCC -Test.C

Führen Sie nun den Code des „Tests aus.C ”Datei, um die Ausgabe des C -Codes wie unten angegeben zu überprüfen. Die Ausgabe hat den 24 -Zeichen -Inhaltssatz aus der Datei suchen wie unten.

$ ./A.aus

Verwenden wir den Befehl "lseek" im Code, um die Ausgabe eines Systemaufrufs zu überprüfen. Öffnen Sie also den gleichen Test.c Datei mit dem folgenden Nano -Befehl.

$ nano test.C

Aktualisieren Sie Ihren Code so wie er ist. Dieses Mal haben wir 6 Zeichen aus der Inhaltsdatei verwendet, um zu lesen und zu schreiben. Mit dem Befehl LSEEK wurde die nächsten 5 Zeichen aus der Inhaltsdatei überspringen und mit dem Offset "seeeex_cur" zu den nächsten Zeichen springen.

Lassen Sie uns diesen Code erneut kompilieren.

$ GCC -Test.C

Die Ausgabe des C -Codes mit dem a.OUT -Befehl zeigt die ersten 6 Zeichen, dann überspringt er die nächsten 5 Zeichen und dann die nächsten 6 Zeichen der nächsten 6 Zeichen.

$ ./A.aus

Beispiel 02:

Lassen Sie uns den Code ändern, um etwas zu ändern, um den Code zu ändern. Öffnen Sie zuerst die Datei.

$ nano test.C

Jetzt werden wir den Offset "such_set" verwenden, um den Aufruf „LSEEK“ -System mitzuteilen, um die nächsten 6 Zeichen aus der 10. Position einer Zeichenfolge anzuzeigen.

Kompilieren Sie die C -Datei.

$ GCC -Test.C

Der Ausgangsbefehl a.Out hat die 6 Zeichen aus dem 10. Index einer Zeichenfolge gezeigt.

Abschluss:

Diese Anleitung hat einige einfache Beispiele für die Verwendung des Befehl "LSEEK" -Systemanrufs durchgeführt, um Inhalte oder Daten aus einer gewünschten Position zu überprüfen oder anzuzeigen.