C Programmation

Comment utiliser l'appel système Lseek en C

Comment utiliser l'appel système Lseek en C

L'appel système Lseek a été utilisé pour lire des caractères ou des données spécifiques à partir d'un fichier ou pour écrire du contenu à l'emplacement spécifique de n'importe quel 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 système lseek nécessite trois paramètres. Le premier est "fd", qui est un descripteur de fichier. 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 les pages de manuel :

Pour vérifier les informations supplémentaires concernant les appels système, vous devez installer le paquet manpages-dev. Essayez donc de lancer le terminal shell Linux à l'aide de la touche de raccourci Ctrl+Alt+T ou recherchez-le dans la zone d'activité. Après avoir lancé avec succès le terminal de commande, exécutez la requête d'installation apt ci-dessous pour installer la bibliothèque manpages-dev. Il nécessite le mot de passe de votre compte actuel pour procéder à l'installation. Entrez le mot de passe et appuyez sur la touche Entrée de la machine à écrire. Le processus d'installation sera lancé et commencera à collecter des informations.

$ sudo apt install manpages-dev

Le processus d'installation vous fera attendre un peu. Une fois l'installation terminée, vous pouvez maintenant 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 les instructions ci-dessous.

$ homme 2 recherche

La page de manuel de l'appel système "lseek" a été ouverte ci-dessous. Vous pouvez obtenir toutes les informations le concernant.

Installez le compilateur GCC :

Il est maintenant temps pour nous d'installer le compilateur GCC pour la compilation des fichiers en langage C. Donc, vous devez utiliser une commande d'installation apt très simple dans le shell pour l'installer tout en utilisant l'extension du compilateur comme nom de mot-clé ci-dessous.

$ sudo apt installer gcc

Il vous faudra peu de temps pour faire son installation. Après avoir installé le package gcc, votre système Linux est prêt à utiliser les fichiers en langage c.

Exemple 01 :

Avant d'approfondir pour comprendre le concept de l'appel système lseek, vous devez le démarrer avec un type de fichier simple. Alors, lancez le terminal et essayez la commande tactile ci-dessous pour créer un fichier simple nommé "seek" dans le répertoire personnel de votre distribution Linux.

$ toucher chercher

Ajoutez des données dans le fichier « recherche » et enregistrez-le. Vous pouvez voir le contenu du fichier « rechercher » dans le shell de ligne de commande en utilisant la simple requête « chat » ci-dessous. Le contenu d'un fichier comporte des alphabets et des chiffres ainsi que le signe « * ».

$ chat cherche

Créons un fichier de type C "test.c" en utilisant le mot-clé nano pour l'ouvrir directement avec l'éditeur Nano. Essayez d'exécuter la commande ci-dessous pour le faire.

$ nano-test.c

Vérifions un programme sans la commande lseek. Il ouvrira un éditeur de texte nano avec un fichier de type C mentionné en haut. Écrivez maintenant le code ci-dessous à partir de l'image dans le fichier C de l'éditeur. 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 caractère pour une utilisation ultérieure. La troisième ligne de la fonction principale a utilisé l'appel open pour ouvrir un fichier nommé "seek", que nous venons de créer ci-dessus, et le décalage "O_RDWR" a été utilisé pour les autorisations de lecture et d'écriture. 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 prochains caractères du descripteur de fichier "f", et la commande d'écriture lit les 12 prochains caractères sur l'écran de sortie. À partir de là, nous pouvons supposer que la sortie affichera un total de 24 caractères du fichier « recherche ». Appuyez sur Ctrl+S pour enregistrer ce fichier et essayez Ctrl+X pour le fermer.

Compilons simplement le "test.c" en utilisant la commande du compilateur GCC ci-dessous.

$ test gcc.c

Exécutez maintenant le code du "test.c" pour vérifier la sortie du code C comme indiqué ci-dessous. La sortie a affiché le jeu de 24 caractères du contenu de la recherche de fichier comme ci-dessous.

$ ./une.en dehors

Utilisons la commande "lseek" dans le code pour vérifier la sortie d'un appel système. Alors ouvre le même test.c en utilisant la commande nano ci-dessous.

$ nano-test.c

Mettez à jour votre code tel qu'il est. Cette fois, nous avons utilisé 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.c

La sortie du code C en utilisant le a.La commande out affiche les 6 premiers caractères, puis saute les 5 caractères suivants, puis affiche les 6 caractères consécutifs suivants.

$ ./une.en dehors

Exemple 02 :

Pour changer un peu, changeons le code. Ouvrez d'abord le fichier.

$ nano-test.c

Nous allons maintenant utiliser le décalage "SEEK_SET" pour indiquer à l'appel système "lseek" d'afficher les 6 prochains caractères à partir de la 10e position d'une chaîne.

Compiler le fichier C.

$ test gcc.c

La commande de sortie a.out a montré les 6 caractères du 10ème index d'une chaîne.

Conclusion:

Ce guide a fait quelques exemples simples d'utilisation de la commande d'appel système "lseek" pour vérifier ou afficher le contenu ou les données de n'importe quelle position que nous voulons.

Bataille pour Wesnoth 1.13.6 Développement publié
Bataille pour Wesnoth 1.13.6 publiée le mois dernier, est la sixième version de développement de la 1.13.x series et il apporte un certain nombre d'am...
Comment installer League Of Legends sur Ubuntu 14.04
Si vous êtes fan de League of Legends, alors c'est l'occasion pour vous de tester League of Legends. Notez que LOL est pris en charge sur PlayOnLinux ...
Installez le dernier jeu de stratégie OpenRA sur Ubuntu Linux
OpenRA est un moteur de jeu de stratégie en temps réel libre/gratuit qui recrée les premiers jeux Westwood comme le classique Command & Conquer: Red A...