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
file_tools.zip