Moyen le plus rapide de vérifier si un fichier existe en utilisant C ++ standard

Moyen le plus rapide de vérifier si un fichier existe en utilisant C ++ standard
Vérifier si Les fichiers existent L'utilisation de C ++ standard est une tâche importante pour les développeurs travaillant sur des applications liées aux fichiers et répertoires. Avant de transférer des données sur le disque ou de tenter d'écraser un fichier existant, vérifiant si le le fichier existe c'est essentiel. Selon ce que le développeur essaie de réaliser, il existe une variété de façons de vérifier si un le fichier existe. Cet article vous apprendra davantage à ce sujet.

Comment vérifier l'existence des fichiers dans la norme C++

Il existe de nombreuses méthodes pour savoir si un fichier est là, comme les suivants:

  • Utilisation de la fonction stat ()
  • Utilisation de Std :: ifstream
  • Utilisation de la fonction fopen ()

1: Comment vérifier l'existence du fichier en C ++ à l'aide de la fonction STAT ()

Le stat () La méthode est la technique la plus efficace et la plus sécurisée pour vérifier l'existence des fichiers. Le sys / stat.H Le fichier d'en-tête a une fonction prédéfinie appelée stat. La fonction accepte un chemin et une structure comme paramètres, où les métadonnées associées au fichier ou au répertoire, le cas échéant, seraient conservées. La fonction renvoie le résultat de 0 si l'itinéraire est légitime. Nous vérifierions le existence du fichier par exemple:

#inclure
#inclure
Utilisation de Namespace Std;
int main()

const char * file = "c_file.SMS";
struct stat sb;
if (stat (fichier et sb) == 0)
couter << "This file exists";
autre
couter << "The file does not exists!";
retour 0;

Tout d'abord, la variable du pointeur de fichier stocke le chemin du fichier. Après cela, le stat Le format du fichier d'en-tête est utilisé pour initialiser la structure vide. Les métadonnées seraient sauvées de cette manière. Le Fonction STAT est alors appelé à l'intérieur de la condition IF. Le résultat serait 0 si le chemin est correct, ce qui signifie que le fichier ou le répertoire existait; Sinon, ce serait non nul.

Sortir

Note: Assurer le remplacement du nom de fichier "C_file.SMS" avec le nom de fichier que vous souhaitez vérifier.

2: Comment vérifier l'existence du fichier en C ++ à l'aide de la fonction std :: ifStream ()

Utilisation de la fonction de bibliothèque standard C ++ std :: ifstream est une autre méthode pour déterminer si un fichier est présent. Un objet Stream qui peut être utilisé pour lire le fichier est renvoyé par cette fonction, qui accepte un chemin comme une entrée. Pour utiliser cette fonction, le développeur passerait le chemin et le nom du fichier au constructeur du std :: ifstream classe. Le résultat de cela est soit le fichier qui est ouvert avec succès par le constructeur, soit une exception jetée. En conséquence, si le fichier est ouvert, le développeur peut supposer qu'il est présent.

#inclure
#inclure
Utilisation de Namespace Std;
int main()
Fichier ifstream ("File_name.SMS");
if (fichier.bien())

std :: cout << "file exists." << endl;

autre

std :: cout << "file doesn't exist." << endl;

En commençant par le principal() Méthode, un objet du ifstream Class Named File est créé pour lire le fichier cible plus tard. Lors de l'invoquer la fonction ouverte de l'objet de fichier, le nom du fichier de destination est ensuite fourni comme argument. Cette ligne tentera d'ouvrir le fichier en mode en lecture seule.

Puisqu'un fichier ne peut être ouvert que s'il existe physiquement là-bas et ne peut être accessible autrement. Nous utilisons indirectement la méthode Open () pour vérifier L'existence du fichier. Ensuite, en utilisant des instructions conditionnelles IF-Else, nous déterminons si l'objet de fichier a ouvert le fichier ou non; Si c'est le cas, cela signifie qu'il est situé sur le chemin spécifié et nous affichons un message de réussite; Sinon, nous produisons un message d'erreur.

Sortir

3: Comment vérifier l'existence des fichiers en C ++ à l'aide de la fonction fopen ()

La troisième façon de vérifier si un le fichier existe est d'utiliser la fonction C ++ fopen (). Le fopen () La méthode crée un flux et ouvre le fichier indiqué par nom de fichier. La variable de mode est une chaîne de caractères qui indique le type d'accès au fichier qui a été demandé. Un paramètre de position précède les arguments de mots clés facultatifs dans la variable de mode.

Nous pouvons enregistrer la valeur de retour de l'exécution de fopen () Dans le fichier du pointeur quand il a terminé. Si l'ouverture du fichier a réussi, la fonction fopen (), qui affiche si le fichier avait précédemment ouvert, produira un pointeur de flux de fichiers faisant référence au fichier cible. S'il a échoué, ce qui indique que si le fichier l'avait déjà été, il reviendra nul. Ensuite, si la référence du fichier n'est pas nul, nous savons que le fichier est présent et peut produire un message de réussite; Sinon, un message d'erreur sera envoyé.

#inclure
#inclure
Utilisation de Namespace Std;
int main()

Fichier * fichier;
file = fopen ("c_file.txt "," r ");
if (fichier!= Null)

couter << "File exists" << endl;

autre

couter << "File does not exists" << endl;

retour 0;

Pour lire le fichier, nous construisons un pointeur vers la classe de fichiers à partir du principal () méthode. Ensuite, nous utilisons les arguments "C_file.SMS" et "R" Pour définir le fichier cible et l'action que nous voulons effectuer dessus lorsque nous exécutons le fopen () méthode. 'R' indique que nous voulons lire le fichier.

Sortir

Conclusion

Il existe différentes fonctions C ++ pour vérifier si un fichier existe, qui sont stat, std :: ifstream et fopen. Des trois méthodes, stat () La fonction est le moyen le plus rapide et le plus fiable de vérifier les existences des fichiers. Tandis que les deux autres fonctions sont également utiles pour vérifier l'existence du fichier. Par conséquent, les développeurs devraient envisager d'utiliser ces fonctions pour des performances et une fiabilité optimales lors de la vérification de l'existence des fichiers.