L'appel du système Lseek a été utilisé pour lire certains caractères ou données spécifiques à partir d'un fichier ou pour écrire du contenu à l'emplacement spécifique de tout fichier. Cela signifie que vous pouvez lire ou écrire entre le contenu d'un fichier.
Syntaxe:
Off_t lseek (int fd, off_t offset, int d'où);
Cet appel système «lseek» nécessite deux fichiers d'en-tête, e.g., «SYS / TYPES.h »et« unistd.h ”. L'appel du système Lseek nécessite trois paramètres. Le premier est «FD», qui est un descripteur de fichiers. Le second est «offset», utilisé pour positionner le pointeur. Et le troisième paramètre, «d'où», est utilisé pour spécifier la position d'un pointeur de fichier, e.g., Début, fin, milieu.
Installer ManPages:
Pour vérifier les informations supplémentaires concernant les appels système, vous devez installer le package ManPages-DEV. Essayez donc de lancer le terminal de la coque Linux à l'aide de la clé de raccourci Ctrl + Alt + T ou de la rechercher à partir de la zone d'activité. Après avoir lancé avec succès le terminal de commande, exécutez la requête d'installation ci-dessous pour installer la bibliothèque ManPages-DEV. Il faut que votre code d'accès de compte actuel continue de procéder à l'installation. Entrez le mot de passe et appuyez sur la touche Entrée à partir de la machine à écrire. Le processus d'installation sera démarré et commencera à collecter des informations.
$ sudo apt install manpages-devLe processus d'installation vous fera attendre un peu de temps. Une fois l'installation terminée, vous pouvez désormais vérifier les informations concernant la commande «lseek». Alors, écrivez la commande «Man 2» ci-dessous avec le nom de l'appel système. Comme vous pouvez le voir, nous avons vérifié «lseek» dans l'instruction ci-dessous.
$ man 2 lseekLa page de l'homme pour l'appel du système «Lseek» a été ouverte ci-dessous. Vous pouvez obtenir toutes les informations à ce sujet.
Installez le compilateur GCC:
Il est maintenant temps pour nous d'installer le compilateur GCC pour la compilation des fichiers de langue C. Vous devez donc utiliser une commande d'installation très simple sur le shell pour l'installer tout en utilisant l'extension du compilateur comme nom de mot-clé ci-dessous.
$ sudo apt install gccIl faudra votre peu de temps pour faire son installation. Après avoir installé le package GCC, votre système Linux est prêt à utiliser les fichiers linguistiques C.
Exemple 01:
Avant d'aller en profondeur pour comprendre le concept de l'appel du système Lseek, vous devez le démarrer avec un simple type de fichier. Alors, lancez le terminal et essayez la commande tactile ci-dessous pour créer un fichier simple nommé «Seek» dans le répertoire domestique de votre distribution Linux.
$ Touch SeekAjoutez des données dans le fichier «Cherchez» et enregistrez-les. Vous pouvez voir le fichier «recherche» le contenu dans le shell de ligne de commande en utilisant la simple requête «chat» ci-dessous. Le contenu d'un fichier a des alphabets et des nombres avec le signe «*».
$ Cat SeekCréons un fichier de type C «Test.C ”Utilisation du mot-clé Nano pour l'ouvrir directement avec l'éditeur Nano. Essayez d'exécuter la commande ci-dessous pour le faire.
$ test nano.cVérifions un programme sans la commande lseek. Il ouvrira un éditeur de texte nano avec un fichier de type C mentionné sur le côté supérieur. Maintenant, écrivez le code décrit ci-dessous à partir de l'image dans le fichier de l'éditeur C. Les 4 premières lignes contiennent les fichiers d'en-tête nécessaires pour implémenter la commande «lseek». Après cela, la fonction principale a été lancée. Dans cette méthode principale, nous avons défini des données de type entier et de caractère pour une utilisation ultérieure. La troisième ligne de la fonction principale a utilisé l'appel ouvert pour ouvrir un fichier nommé «Seek», que nous venons de créer ci-dessus, et le décalage «O_RDWR» a été utilisé pour lire et écrire des autorisations. Le contenu du fichier a été renvoyé au descripteur de fichier «F». Après cela, nous avons utilisé le premier appel de méthode de lecture pour lire les données de 12 caractères du fichier de recherche. La fonction d'écriture a été utilisée pour écrire des données dans l'écran. Une autre commande de lecture a été utilisée pour obtenir les 12 caractères suivants du descripteur de fichier «F», et la commande d'écriture est de lire les 12 prochains caractères à l'écran de sortie. À partir de cela, nous pouvons supposer que la sortie affichera un total de 24 caractères du fichier "Seek". Appuyez sur Ctrl + S pour enregistrer ce fichier et essayez Ctrl + X pour le fermer.
Compilons simplement le «test.Fichier C ”en utilisant la commande du compilateur GCC ci-dessous.
$ test gcc.cMaintenant, exécutez le code du «test.Fichier C ”pour vérifier la sortie du code C comme indiqué ci-dessous. La sortie a affiché le jeu de contenu de 24 caractères de la recherche de fichiers comme ci-dessous.
$ ./un.dehorsUtilisons la commande «lseek» dans le code pour vérifier la sortie d'un appel système. Alors ouvrez le même test.Fichier C en utilisant la commande nano ci-dessous.
$ test nano.cMettez à jour votre code tel qu'il est. Cette fois, nous utilisons 6 caractères du fichier de contenu à lire et à écrire. La commande lseek a été utilisée pour sauter les 5 caractères suivants du fichier de contenu et passer aux caractères suivants en utilisant le décalage "Seek_cur".
Compilons à nouveau ce code.
$ test gcc.cLa sortie du code C à l'aide du A.La commande out montre les 6 premiers caractères, puis il saute les 5 caractères suivants, puis affiche les 6 prochains caractères consécutifs.
$ ./un.dehorsExemple 02:
Pour avoir des changements, changeons le code. Ouvrez d'abord le fichier.
$ test nano.cMaintenant, nous utiliserons le décalage "Seek_Set" pour dire à l'appel du système "Lseek" pour afficher les 6 prochains caractères de la 10e position d'une chaîne.
Compiler le fichier C.
$ test gcc.cLa commande de sortie a.Out a montré les 6 caractères du 10e index d'une chaîne.
Conclusion:
Ce guide a fait quelques exemples simples de l'utilisation de la commande d'appel système «lseek» pour vérifier ou afficher du contenu ou des données à partir de n'importe quelle position que nous voulons.