Fonction OpenDir 3 C

Fonction OpenDir 3 C
La fonction OpenDir () a été largement connue pour l'ouverture de certains flux d'annuaire comme le nom d'un répertoire et renvoyant le pointeur à ce répertoire particulier. La fonction OpenDir dans le langage de programmation C est définie dans le fichier d'en-tête et fait partie de la spécification POSIX (Interface du système d'exploitation portable). La fonction OpenDir ne prend qu'un seul argument, qui est un pointeur de caractère. L'argument «nom» est essentiellement le chemin du répertoire que nous ouvrirons. Si le chemin du répertoire spécifié n'existe pas ou est incorrect, cette fonction renvoie nul. Si le chemin du répertoire est correct et valide, la fonction OpenDir sort une structure de répertoire de type pointeur.

Le type de données DIR est utilisé pour exprimer un flux de répertoire, bien qu'il ne doit pas être alloué par l'utilisateur. Nous examinerons comment cette méthode est utilisée dans certains codes C dans cet article.

Exemple 01:

En utilisant l'éditeur VIM, nous avons produit le «OpenDirFile.Fichier C ”. Vous pouvez choisir n'importe quel éditeur, y compris Nano. Lorsque le fichier est ouvert dans l'éditeur VIM, saisissez le code affiché dans la capture d'écran suivante. Le répertoire actuel qui est abrégé comme le point (.) est ouvert et fermé dans le code suivant:

La sortie du code précédent est:

Les fonctions de lecture et de manipulation des répertoires / dossiers sont disponibles dans la langue C. Il permet à vos programmes de gérer les fichiers et d'effectuer d'autres opérations liées aux fichiers.

Exemple 02:

Maintenant, nous écrivons le code avancé pour comprendre le concept complet et apprendre à l'exécuter et à le compiler. Les fichiers d'en-tête sont inclus dans les deux premières lignes. Après cela, la signature de la fonction principale est appelée. Vous pouvez voir que nous avons reçu le nom du répertoire des entrées de ligne de commande de la fonction principale et l'avons transmise à la fonction OpenDir. Dans la fonction de bloc principal, la première ligne est une structure directe, qui est essentiellement une représentation du système d'annuaire. Il peut contenir le numéro de série du fichier ainsi que les noms des dossiers trouvés dans le chemin fourni.

Nous avons défini une variable de type pointeur appelé PDIR dans la deuxième ligne du code. Suite à cela, il existe une déclaration conditionnelle qui est principalement utilisée pour vérifier si la ligne de commande contient le montant correct d'arguments. Si les valeurs fournies ne sont pas valides, imprimez le message et sortez de la fonction sans effectuer le code suivant. Si l'entrée est correcte, conservez-la dans la variable PDIR et vérifiez qu'elle n'est pas nul. S'il est nul, cela signifie qu'il n'y a pas de répertoire ou que le chemin est incorrect ou illégal.

Dans ce cas, l'instruction de retour est exécutée et le compilateur met fin à l'exécution des lignes du code en dessous. Si le paramètre PDIR n'est pas nul, il indique que le nom du répertoire fourni par l'utilisateur est légitime et correct et que le répertoire existe, qui peut inclure les fichiers et les dossiers. La fonction ReadDir est utilisée à l'intérieur de la boucle while dans les lignes de code suivantes pour afficher les noms des fichiers et dossiers qui existent dans ce répertoire. À la fin de la ligne, nous fermons la variable PDIR. Pour obtenir une liste complète des fichiers que vous avez générés dans le répertoire de travail, utilisez la commande «LS». Voir l'écran suivant pour plus de détails:

Après cela, utilisez le compilateur GCC pour compiler le fichier C. Si votre système n'a pas de compilateur GCC, utilisez la commande suivante pour installer le compilateur sur votre système d'exploitation ou votre machine virtuelle:

$ sudo apt mise à jour
$ sudo apt install build-essentiel

Vous pouvez vérifier si vous l'avez déjà installé sur votre système d'exploitation ou votre machine virtuelle en exécutant la commande suivante:

GCC-Version

Maintenant, vous avez tout ce dont vous avez besoin pour compiler et exécuter / exécuter le code C. Pour commencer, utilisez la commande donnée dans l'image pour créer le code. Après cela, tapez «gcc» et le nom du fichier que vous souhaitez compiler ou produire un objet ou un fichier de sortie pour. Si vous ne spécifiez pas les arguments restants dans la ligne de commande, la sortie sera générée et enregistrée dans un «A.fichier out ».

Cependant, si vous souhaitez nommer votre fichier de sortie comme vous le souhaitez, tapez "-o". Ensuite, tapez le nom du fichier de sortie suivi du ".Extension out ».

Avant d'aller plus loin, quelques autres choses que vous devez savoir est que dans Macintosh et plus tard Windows, le terme «dossier» est utilisé. C'était un répertoire, une liste de fichiers enregistrés sur les supports de stockage. Pour exécuter le fichier, utilisez simplement la commande suivante qui inclut le «./ Nom du fichier de sortie.dehors". Comme vous pouvez le voir, si nous exécutons le fichier de sortie sans aucun argument de ligne de commande tel qu'un chemin de répertoire, nous obtenons une erreur indiquant que l'entrée n'est pas valide.

Lorsque nous exécutons le fichier de sortie, nous fournissons le nom du répertoire dans l'écran suivant. Vous pouvez voir la liste des fichiers et dossiers qui existent dans le répertoire des travaux après avoir appuyé sur la touche Entrée.

Une autre option pour fournir le nom du répertoire est de taper l'ensemble du chemin du répertoire ou uniquement la partie du chemin où nous sommes maintenant situés. Dans l'exemple suivant, nous fournissons les «œuvres / travaux» qui incluent nos travaux actuels suivis des œuvres, puis à l'intérieur du dossier Works.

Comme vous pouvez le voir dans l'exemple suivant, nous avons spécifié un répertoire ou un nom de dossier qui n'existe pas dans le répertoire actuel où se trouve notre fichier de sortie. Si PDIR renvoie NULL, nous affichons ou rapportons une erreur indiquant que le répertoire ne peut pas être ouvert.

Conclusion

Cet article concerne l'utilisation de la fonction OpenDir () de C dans Kali Linux avec la démonstration de son processus de travail. Nous avons discuté des exemples simples mais efficaces de C pour obtenir les résultats requis. Les autres fonctions POSIX sont utilisées pour l'aide secondaire dans les codes.