C Programmation

Comment utiliser l'appel système d'écriture en C

Comment utiliser l'appel système d'écriture en C

L'appel système sert de passerelle principale entre les programmes et le noyau du système d'exploitation Linux. Bien que vous auriez presque certainement besoin d'un appel système tout au long de votre carrière en programmation C, que vous visiez une productivité exceptionnelle ou un certain style de fonctionnalité, le référentiel Glibc ou d'autres bibliothèques standard trouvées dans les distributions Linux populaires suffiront à la grande majorité de vos conditions. Dans ce guide, nous allons établir un concept sur l'appel Write System en langage C.

Syntaxe:

#inclure
ssize_t write(int fd, const void *buf, size_t count);

Dans cette syntaxe ci-dessus, la première ligne montre la bibliothèque pour les appels système. Sur la deuxième ligne, fd représente un descripteur de fichier qui est en effet un nombre qui spécifie le fichier ouvert d'un processus. Le mot-clé *buf signifie buffer. Cela contient toutes les données en elle. Ensuite, compte. C'est le nombre d'octets à écrire dans un descripteur de fichier à partir du tampon.

Prérequis d'installation :

Pour exécuter n'importe quel code en langage C, vous devez d'abord installer certains packages dans la distribution Linux. Si vous voulez voir plus d'informations concernant l'appel système d'écriture, vous devez installer le paquet manpages-dev pour le faire. Pour ouvrir le terminal à l'aide de la touche de raccourci Ctrl+Alt+T. Après l'avoir ouvert, écrivez la commande d'installation apt ci-dessous suivie du mot-clé manpages-dev pour installer les pages de manuel.

$ sudo apt install manpages-dev

L'installation des pages de manuel prendra un certain temps. Attendez qu'il soit terminé.

Après l'installation, vous pouvez voir les informations supplémentaires sur l'appel système « write » via la commande man ci-dessous dans le shell.

$ homme 2 écriture

La page de manuel de sortie pour la commande "write" est donnée ci-dessous. Vous pouvez lire les informations à ce sujet. Appuyez sur q pour quitter le manuel.

Il est maintenant temps d'installer le package "Gcc" dans votre système Linux pour qu'il fonctionne en langage C. Pour cela, ouvrez le shell et écrivez la commande d'installation apt ci-dessous suivie du mot-clé "gcc".

$ sudo apt installer gcc

Pendant ce temps, lors de l'installation, il peut vous demander de confirmer cette action d'installation en appuyant sur "y" pour continuer et "n" pour l'arrêter. Alors, appuyez sur la touche "y" et appuyez sur la touche Entrée.

Il sera installé dans votre système en quelques minutes, et les dernières lignes de sortie seront comme indiqué dans l'instantané ci-dessous.

Exemples:

Prenons quelques exemples d'appel système « write » dans notre distribution Linux. Par conséquent, ouvrez le shell de ligne de commande et créez-y un nouveau fichier C avec l'extension point "c". Vous devez utiliser la commande nano ci-dessous pour le créer et l'ouvrir rapidement. Nous lui avons donné le nom de « nouveau.c".

$ nano nouveau.c

La fenêtre ci-dessous s'ouvrira. Il faut maintenant écrire le code apposé dans ce fichier. Dans ce code, nous avons inclus un unistd.h bibliothèque d'abord. Ensuite, nous avons créé la fonction principale, et au sein de cette fonction, nous avons créé un appel système « write ». Dans cet appel système, le tout premier paramètre est le descripteur de fichier. Dans ce cas, l'entier 1 représente l'écran du périphérique de sortie, et il est fixe. Donc, notre sortie sera affichée à l'écran. Le deuxième paramètre affiche les données du tampon. Vous pouvez y ajouter n'importe quoi. Et le dernier paramètre affiche le nombre de comptage pour les données fournies dans le paramètre buffer. Comme nous l'avons mentionné 5 comme nombre de comptage, il n'affichera que les 5 premiers octets des données du tampon et ignorera les octets restants. Enregistrez ce code à l'aide de la touche de raccourci Ctrl+S et quittez ce fichier à l'aide de la commande Ctrl+X.

#inclure
Int main()
Ecrire(1, "Aqsa Yasin", 5);

Maintenant dans le terminal, essayez la commande gcc ci-dessous pour compiler ce code nouvellement créé avec un nom de fichier.

$ gcc nouveau.c

Vérifions ce code en utilisant la valeur par défaut a.out fichier créé au moment de l'exécution. Alors, essayez ci-dessous un.out pour vérifier la sortie de l'appel système "write". Nous devons l'utiliser avec "./" pour choisir le fichier dans le répertoire courant.

$ ./une.en dehors

La sortie que vous pouvez voir n'a affiché que le mot « Aqsa » à cause du nombre 5.

Modifions un peu notre code. Nous avons changé le nombre de comptage à 11 car nous avons un total de 11 octets dans nos données de tampon "Aqsa Yasin". Donc, cette fois, la sortie affichera tous les octets de données de chaîne "Aqsa Yasin". Enregistrez ce fichier en utilisant Ctrl+S et quittez en utilisant la touche de raccourci Ctrl+X.

Compilons le code mis à jour en utilisant le compilateur gcc nouvellement installé pour la distribution Linux. Essayez la même commande gcc avec le nom d'un fichier comme "nouveau.c".

$ gcc nouveau.c

Affichez maintenant la sortie du même code en utilisant le précédent "a.out" commande comme ci-dessous. La sortie affiche la chaîne complète "Aqsa Yasin" du tampon.

$ ./une.en dehors

Voyons comment fonctionne le code lorsque nous prenons le nombre de comptage supérieur au nombre total d'octets que contiennent les données du tampon. Donc, nous avons utilisé le nombre de 30. Enregistrez et fermez le fichier.

Compilez le même fichier mis à jour en utilisant la commande gcc comme ci-dessous.

$ gcc nouveau.c

Exécutez maintenant le fichier en utilisant le a.out, et la sortie affichera les données de la mémoire tampon ainsi qu'une valeur de mémoire avec celle-ci, comme indiqué dans la sortie de l'instantané ci-dessous.$ ./une.en dehors

Vous pouvez également vérifier le nombre total d'octets écrits dans le fichier en utilisant le code ci-dessous dans le même fichier.

Compiler le code par instruction gcc.

$ gcc nouveau.c

La sortie affiche le nombre total d'octets, y compris les données de la mémoire tampon et le saut de ligne, à l'aide de la fonction a.commande.

$ ./une.en dehors

Conclusion:

Dans ce tutoriel, nous avons élaboré le concept d'utilisation de l'appel système « Write » en C. Essayez tous les exemples pour comprendre l'idée de l'appel système « write » en utilisant cet article.

Examen de la souris sans fil Microsoft Sculpt Touch
J'ai lu récemment sur le Microsoft Sculpt Touch souris sans fil et j'ai décidé de l'acheter. Après l'avoir utilisé pendant un certain temps, j'ai déci...
Trackpad et pointeur de souris à l'écran AppyMouse pour tablettes Windows
Les utilisateurs de tablettes ratent souvent le pointeur de la souris, surtout lorsqu'ils ont l'habitude d'utiliser les ordinateurs portables. Les sma...
Le bouton central de la souris ne fonctionne pas sous Windows 10
le bouton central de la souris vous aide à faire défiler de longues pages Web et des écrans contenant beaucoup de données. Si cela s'arrête, et bien v...