Syntaxe
La syntaxe de la fonction Open () dans le langage C est donnée ci-dessous. Discutons de ses paramètres:
int ou ouvert (const char * path, int int issues [, mode int]);
Chemin
Le chemin est le titre du fichier que vous souhaitez ouvrir ou créer. Il fait également référence à l'emplacement du fichier. Si nous ne travaillons pas dans le même répertoire que le fichier, nous pouvons fournir un chemin absolu qui commence par «/». Nous pouvons également spécifier un chemin relatif où, dans certains cas, nous mentionnons simplement le nom et l'extension du fichier.
Drapeaux
Pour utiliser les drapeaux, voici la liste avec leurs explications respectives:
Ici, O signifie une fonction ouverte.
Fichier / bibliothèque d'en-tête
La bibliothèque ou le fichier d'en-tête suivant est utilisé dans le code pour cette utilisation de fonction.
#inclure
Pour créer ou ouvrir un fichier dans ce certain répertoire ou chemin, utilisez l'éditeur VIM. Le «OpenFile.C ”est le nom du fichier que nous avons créé. Lorsque nous tapons cette commande, l'éditeur ouvre le fichier en mode d'édition, nous permettant de taper les lignes de code dans le fichier. Pour fermer l'éditeur VIM et enregistrer le fichier, appuyez sur la touche d'échappement, tapez un côlon (:) et x, puis appuyez sur la touche Entrée.
Les lignes de code suivantes sont tapées dans le «OpenFile.Fichier C ”. Nous utilisons un chemin relatif pour ouvrir le «testopen.Fichier txt »dans le code suivant. Les drapeaux o_rdonly (lire uniquement) et O_Creat ont été passés (créer le «testopen.Fichier txt ”s'il n'existe pas dans le répertoire actuel).
La fonction printf est maintenant utilisée pour afficher la valeur de retour dans le descripteur de fichier. Nous vérifions ensuite si le descripteur de fichier est égal à -1, ce qui indique que le fichier ouvert a échoué et imprime l'erreur.
Nous utilisons le compilateur GCC pour assembler le fichier. Si vous n'avez pas installé le GCC C-Compiler, exécutez les commandes suivantes pour l'obtenir. Exécutez simplement les instructions suivantes dans le terminal pour voir la version du compilateur GCC sur votre système Linux-Ubuntu:
Mise à jour Sudo Apt
sudo apt install build-essentiel
Tapez la commande suivante pour compiler le «OpenFile.C ”dans le compilateur GCC. La commande suivante comprend le compilateur GCC. Ensuite, spécifiez le fichier que nous souhaitons compiler avec l'extension et l'indicateur -o (utilisé pour sortir le fichier vers un fichier d'objet particulier qui est spécifié juste après cet drapeau):
GCC OpenFile.C -O OpenFile.dehors
Alternativement, nous pouvons exécuter la commande avant le drapeau -O, qui produit un «A.Fichier objet out »dans le répertoire actuel par défaut. À l'aide de la commande de répertoire de liste, vérifiez le fichier de sortie ou d'objet, je.e. fichier ouvert.dehors.
Tapez la commande suivante pour exécuter ou exécuter le fichier de sortie ou d'objet, qui affiche le descripteur de fichier égal à 3. Il indique que le fichier fourni (testopen.txt) est présent dans le répertoire contenant le fichier de sortie.
Ouvrez le fichier C avec l'éditeur VIM une fois de plus, mais cette fois, modifiez le nom du fichier (OpenFile1.txt) dans la fonction ouverte. Ensuite, économisez et fermez le «OpenFile.Fichier C ”.
Un autre changement dans la commande ouverte consiste à passer l'indicateur O_RDONly qui ouvre le «OpenFile1.txt ”en mode en lecture seule. Cela signifie que nous ne pouvons lire que les données du fichier. Nous ne pouvons pas effectuer la fonction d'écriture ou de mise à jour dans ce fichier spécifié.
Compilez à nouveau le fichier pour mettre à jour le fichier de sortie. Après cela, exécutez le code à l'aide du fichier d'objet. Étant donné que nous n'avons pas le fichier texte spécifié dans le répertoire actuel, l'utilisation de la fonction Open () a lancé une erreur et renvoie un -1 qui est stocké dans la variable FiledEscriptor du type entier. L'écran suivant affiche la sortie de l'OpenFile. Si le fichier de sortie n'a pas été spécifié, tapez simplement "./un.out »dans le terminal pour voir la sortie du fichier.
Nous avons ouvert le «OpenFile.Fichier C ”dans l'éditeur VIM une fois de plus et a utilisé l'indicateur O_Excl dans la commande ouverte. Cela implique que si le fichier spécifié n'existe pas dans le répertoire, ne le créez pas; Si c'est le cas, ouvrez-le simplement. Parce qu'il n'y a pas de «OpenFile1.Fichier txt »Dans le répertoire de la liste, la méthode ouverte renvoie une erreur.
L'écran suivant démontre que nous n'avons pas le fichier donné dans le chemin et la fonction ouverte renvoie -1. Cela indique qu'aucun fichier ou répertoire de ce type n'existe. Si la commande du fichier de sortie est tapée de manière incorrecte, il renvoie l'erreur générique - "Aucun fichier ou répertoire de ce type".
Conclusion
Cet article concerne l'utilisation de la fonction ouverte 2 C dans le système Kali Linux. En utilisant cet appel système, nous avons expliqué comment il peut être utilisé pour ouvrir et lire facilement le fichier et son contenu. Nous avons discuté de la façon dont il lance une erreur lorsque le descripteur de fichier ne trouve pas le fichier requis.