Détermine si le fichier passé en paramètre existe
#include "t_bool.h" #include "file_tools.h" #include <stdlib.h> #include <stdio.h> #include <string.h> /* Nom du fichier temporaire. */ #define TEMP_FILE "example.txt" /* Liste, non exhaustive, de delimiteurs */ #define DELIM " *§:/;!.,?&~<>{([|])}\"\\+=" /* ---------------------------------------------------- file_tools_exist ---------------------------------------------------- Determine si le fichier passe en parametre existe. ---------------------------------------------------- arg : Fichier a lire. return: true si le fichier existe, sinon false. --------------------------------------------------- */ t_bool file_tools_exist (char const * const s_filename) { FILE * p_file = NULL; t_bool bool = false; /* ----- Verification de l'argument ----- */ if (!s_filename) { /* Erreur: argument invalide. */ return false; } /* ----- Tentative d'ouverture du fichier ----- */ p_file = fopen (s_filename, "r"); if (p_file) { /* Le fichier est ouvert, il existe. */ fclose (p_file); bool = true; } return bool; }
Vous pouvez retrouver cette fonction ainsi que toutes les autres fonctions de la catégorie Fichier dans l'archive file_tools.zip.
L'archive comprends les fichiers suivants :
- example1.txt et example2.txt deux fichiers utilisés par la méthode main.
- t_bool.h : déclaration du type booléen.
- file_tools.h et file_tools.c : déclaration et implémentation des fonctions de la catégorie Fichier.
- main.c : fonction permettant et mettant en œuvre l'ensemble des fonctions Fichier.
Exécution
$gcc main.c file_tools.c -o filetools $chmod +x filetools $./filetools